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并行GCXX:+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相同,以避免每次垃圾回收完成 ...
随机推荐
- 有关箭头函数的this知识
总结: 结果: 2,箭头函数正确的使用方法. 结果: 总结: 箭头函数不要直接在对象的属性上用.比如上面的函数3.
- zabbix 监控域名到期时间
cat userparameter_http.conf UserParameter=http_discovery,/usr/bin/python /etc/zabbix/scripts/base/ht ...
- 3d-force-graph使用及相关设置
首先安装3d-force-graph模块到项目依赖: npm install 3d-force-graph 在需要使用的vue页面中导入 import ForceGraph3D from '3d-fo ...
- git拉取本地或者分支
拉取本地 git clone 拉取的仓库地址 新建一个文件夹,然后右键 拉取分支到本地 也是新建一个文件夹右键点击 Git Bash Here 然后输入 git clone -b 分支名称 分支地址 ...
- demo----日常报错
yolov5:报错1:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized ...
- POJ 1830 开关问题 异或高斯消元
题目链接 将题目转化为矩乘问题 构建一个 \(n \times n\) 的开关信息矩阵,其中第 \(i\) 列第 \(j\) 行的元素为 \(0 / 1\) 代表在改变开关 \(i\) 的情况下开关 ...
- Windows D3D渲染到纹理
D3D渲染到纹理 1 #include <d3dx9.h> 2 3 //---------------------------------------------------------- ...
- linux缓冲区溢出尝试
#include <stdio.h>#include <string.h>char Lbuffer[] = "01234567890123456789======== ...
- CPU密集型和IO密集型与线程池的配置
CPU密集型任务应配置尽可能小的线程,如配置CPU数目+1个线程的线程池.由于IO密集型任务线程并不是一直在执行任务,则应配置尽可能多的线程,如2*CPU数目.
- Linux CentOS 8系统离线升级内核版本
Linux CentOS 8系统离线升级内核版本 搬运如下文章,十分感谢 https://blog.csdn.net/WQwinter/article/details/127231086 二.升级步骤 ...