2---JVM启动参数有哪些?
也要以说JVM启动的时候可以调整哪些参数,来进行调优。JVM 为垃圾收集器、堆大小和运行时编译器提供与平台相关的默认选择。
性能取决于堆的大小、应用程序维护的实时数据量以及可用处理器的数量和速度.。
下面是调优的一些参数 使用命令行操作的:
1:最大暂停暂停时间目标 -XX:MaxGCPauseMillis=
<nnn> :垃圾收集器需要<nnn>毫秒或更短的暂停时间,垃圾收集器将调整堆大小及与其相关的其他参数。默认情况,没有最大暂停暂停时间目标。
2:吞吐量目标 -XX:GCTimeRatio=
<nnn> :垃圾收集时间与应用程序时间的比率是 1 / (1 + <nnn>),另外 垃圾收集所花费的时间是年轻代和老年代收集的总时间。
3:GC日志 -XX:+PrintGCDetails 垃圾收集的诊断信息写入标准输出
-XX:+PrintGCTimeStamps 给日志添加时间戳
4:堆大小:在虚拟机初始化时,为堆保留了整个空间, -Xmx 设置保留空间的大小,也就是最大堆大小, -Xms(初始堆大小)的值如果比保留空间的值小,则不是所有的保留空间都立即交给虚拟机,未给虚拟机的空间被标记为”虚拟“,那么堆的不同部分(老生代和新生代)可以根据需要增长到虚拟空间的极限。
5:设置老年代和新生代的比率:-XX:NewRatio=3 年轻代:老年化=1:3
6:选择垃圾收集器,也可叫作 选择GC算法
串行GC XX:+UseSerialGC
并行GC
XX:+UseParallelGC 并行压缩是并行GC的一个功能 默认启用 关闭使用-XX:-UseParallelOldGC
并发GC -XX:+UseConcMarkSweepGC
启用 CMS 收集器-XX:+UseG1GC
启用 G1 收集器
7:指定GC日志文件 ‐Xloggc:gc.log
8:指定堆内存溢出时自动进行Dump ‐XX:+HeapDumpOnOutOfMemoryError 18 ‐XX:HeapDumpPath=/usr/local/
9:指定默认的连接超时时间 ‐Dsun.net.client.defaultConnectTimeout=2000
‐Dsun.net.client.defaultReadTimeout=2000
10:指定时区 ‐Duser.timezone=GMT+08
11: 设置默认的文件编码为UTF‐8 ‐Dfile.encoding=UTF‐8
附加一个小实践:使用G1启动一个hello程序
java ‐XX:+UseG1GC ‐Xms4g ‐Xmx4g ‐Xloggc:gc.log ‐XX:+PrintGCDetails ‐XX:+PrintGCDateStamps Hello
参考:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/toc.html
查看JVM进程号:使用命令jps , 找到进程号可以使用jstack pid 来查看线程栈
使用jmap可以查看物理内存占用情况
2---JVM启动参数有哪些?的更多相关文章
- NetBeansRCP-添加/修改NetBeans的JVM启动参数
NetBeans运行的速度实在是不敢恭维.还好机器配置还可以,修改其JVM启动参数命令行,以期运行的更加顺畅. 那么如何修改NetBeans IDE的JVM参数呢? 1.到NetBeans IDE的安 ...
- JVM启动参数小结
一:JVM启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),指的是JVM底层的一些配置参数, ...
- 业务系统的JVM启动参数推荐
关键业务系统的JVM启动参数推荐,原文链接请参见:http://calvin1978.blogcn.com/articles/jvmoption-2.html
- jvm启动参数设置 -Dfile.encoding=UTF-8 解决freemark乱码
今天一个spring boot应用windows跑起来后页面显示乱码,加上jvm启动参数为utf-8后,页面显示正常.
- jvm 启动参数设置(转载)
JVM启动参数 http://onlyor.iteye.com/blog/1722413 博客分类: java java java启动参数共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些 ...
- Eclipse jvm启动参数在哪设置
学习并转载自https://jingyan.baidu.com/article/624e7459653ca534e8ba5a26.html Java是一门非常受欢迎的编程语言,Java的开发人员多数使 ...
- JVM 启动参数,共分为3类
JVM 启动参数,共分为3类: 类别 说明 标准参数(-) 所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 非标准参数(-X) 这些参数不是虚拟机规范规定的.因此,不是所有VM的实现(如:H ...
- JVM系统属性 OS环境变量 JVM启动参数
JVM系统属性(System Properties) 1.不支持通过文件查看和设置系统属性 2.可以通过JDK自带的工具jvisulavm.exe查看 3.可以在Java程序中使用API来查看系统属性 ...
- 【java】java获取JVM启动参数 System.getProperty
java获取JVM启动参数 System.getProperty取 -D后的key即可 public class Test { public static void main(String[] arg ...
- Java JVM 启动参数
JVM 启动参数 java -Xmx4096m // 设置JVM最大可用内存为4096m. -Xms4096m // 设置JVM促使内存为4096m.此值可以设置与-Xmx相同,以避免每次垃圾回收完成 ...
随机推荐
- PLSQL中文乱码问题(显示问号)解决办法
select userenv('language') from dual; 在环境变量的系统变量中添加配置: NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这个 ...
- C#使用SharpZipLib解压多文件的zip压缩文件数据流,保存到本地
代码: public async Task<ReturnModel<List<string>>> UploadModel() { var task = new Ta ...
- Ajax后台传数组参数,接收不到报错!
var Gid = ""; var Name = ""; var strGid = []; var strName = []; for (var i = 0; ...
- (Jmeter笔记)设置全局变量,跨线程调用变量,函数助手使用方法__setProperty和__p
需求: 线程2获取线程1的Token成功,并可用 1.使用方法__setProperty定义一个内置函数 2.添加BeanShell后置处理程序 String Token=bsh.args[0]; / ...
- windows下解决mysql5中文乱码的问题
1.问题描述:一开始无论是在命令行,还是在mysql的客户端输入中文都会出现 "???" 问题之类的乱码问题: 2.解决办法: 1)cmd 进入mysql ,命令mysql -ur ...
- 搭建Spring的源码环境
搭建Spring的源码环境,包括以下几个步骤: 1.从Spring官网一步步找到Spring源码在github上的位置,并拉取Spring源码 2.安装和配置Gradle,用于构建Spring的源码 ...
- Linux 第二节(基本命令)
www.linuxcool.com 一.ifconfig 1.Ip 地址 2.MAC地址 3.收到的数据包(RX) 4.发送的数据包(Tx) 二.uname uname -a //查看系统内核及 ...
- Django基础篇 06-Django模板过滤器Filter和标签Tags
一.Django模板的内置过滤器Filter 什么是模板(Template)? Django的Template是如何工作的 Django的模板是静态的html文件,它只决定了一个页面的样式或外观.它需 ...
- 在开启hadoop时候报错:localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
此时 ssh localhost也会失败 原因是秘钥没有给自己, 运行ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost 即可解决.
- 使用 nvm 管理 node.js 版本
简介 在实际的前端开发过程中,可能会经常遇见 node.js 的版本问题,不同的项目需要使用不同的 node.js 版本. 直接安装的话,只能安装和使用 node.js 的一个版本.可以使用 nvm ...