JVM参数调优基础-参数的类型详解
发布日期:2021-06-30 12:22:51
浏览次数:3
分类:技术文章
本文共 1698 字,大约阅读时间需要 5 分钟。
1 参数类型
1.1 标准参数
-help
-server -client -version -showversion -cp -classpath1.2 X 参数
-
非标准化参数
-
-Xint :解释执行
-
-Xcomp :第一次使用就编译成本地代码
-
-Xmixed :混合模式, JVM自己来决定是否编译成本地代码
-
JDK8默认混合模式
1.3 XX 参数
- 非标转化参数,相对不稳定,主要用于JVM调优和Debug
Boolean类型
- 格式: -XX:[±]表示启用或者禁用name属性,比如: -XX:+ UseConcMarkSweepGC -XX:+UseG1GC
非 Boolean类型
- 格式:
-XX: <name> = <value>
表示name属性的值是value 比如:-XX:MaxGCPauseMilis=500
XX:GCTimeRatio=19
注意,-Xmx -Xms
不是X参数,而是XX参数
-XX:InitialHeapSize
-Xmx等价于-XX:MaxHeapSize
2 运行时参数
- -XX:+ PrintFlagsInitial
- -XX:+ PrintFlagsFinal
- -XX: +UnlockExperimentalVMOptions 解锁实验参数
- -XX: + UnlockDiagnosticVMOptions 解锁诊断参数
- -XX:+ PrintCommandLineFlags 打印命令行参数
查看XX选项的值
- -XX:+PrintCommandLineFlags
- -XX:+PrintFlagsInitial -XX:+PrintFlagsFinal
- =表示默认值
- :=被用户或者JVM修改后的值
jps
jinfo
- 查看最大内存
jinfo -flag MaxHeapSize 1430-XX:MaxHeapSize=1073741824
- 查看垃圾收集器
➜ ~ jinfo -flag UseConcMarkSweepGC 1430-XX:-UseConcMarkSweepGC
- 查看回收次数阈值
➜ ~ jinfo -flag MaxTenuringThreshold 58064-XX:MaxTenuringThreshold=15
3 jstat
查看JVM统计信息
3.1 类装载
3.2 GC
-gc, -gcutil, -gccause, -gcnew, -gcold
-gc输出结果
S0C、S1C、SOU、 S1∪ : S0和S1的总量与使用量
EC、EU : Eden区总量与使用量 OC、OU : Old区总量与使用量 MC、MU : Metaspace区总量与使用量 CCSC、CCSU :压缩类空间总量与使用量 YGC、YGCT : YoungGC的次数与时间 FGC、FGCT : FulIGC的次数.与时间 GCT :总的GC时间JIT 编译
- -compiler
- -printcompilation
4 jmap + MAT 实战内存溢出
堆区
非堆区
5 导出内存映像文件
OutofMemory(OOM)相关的选项
如果程序发生了OOM后,JVM可以配置一些选项来做些善后工作,比如把内存给dump下来,或者自动采取一些别的动作
- -XX:+HeapDumpOnOutOfMemoryError 在内存出现OOM的时候,把Heap转存(Dump)到文件以便后续分析,文件名通常是
java_pid<pid>.hprof
- -XX:HeapDumpPath=
指定heap转存文件的存储路径,需要指定的路径下有足够的空间来保存转存文件 - -XX:OnOutOfMemoryError 指定一个可行性程序或者脚本的路径,当发生OOM的时候,去执行这个脚本
内存溢出自动导出
- -XX:+ HeapDumpOnOutOfMemoryError
- -XX:HeapDumpPath=./
使用jmap命令手动导出
jmap
option : -heap , -clstats , -dump: , -F
转载地址:https://javaedge.blog.csdn.net/article/details/104351119 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月13日 20时21分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于MATLAB的模拟调制信号与解调的仿真——DSB
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——SSB
2019-04-30
pyc文件
2019-04-30
操作系统实验之生产者和消费者程序
2019-04-30
操作系统实验之猴子过桥问题的模拟程序
2019-04-30
POJ - 3067 Japan (树状数组 思维)
2019-04-30
POJ - 2352 Stars (树状数组 入门题)
2019-04-30
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
2019-04-30
CodeForces - 761C Dasha and Password (思维 暴力)
2019-04-30
POJ - 2481 Cows (树状数组 入门题)
2019-04-30
ACM-ICPC 2018 焦作赛区网络预赛 I. Save the Room
2019-04-30
CodeForces - 987C Three displays (暴力/dp)
2019-04-30
计蒜客 NAIPC 2016 F. Mountain Scenes(dp)
2019-04-30
牛客国庆集训派对Day4——I 连通块计数(思维)
2019-04-30
牛客国庆集训派对Day4——G 区间权值(找规律,双重前缀和)
2019-04-30
牛客国庆集训派对Day5——L 数论之神(找规律/数论)
2019-04-30
CodeForces - 629B Far Relative’s Problem(模拟)
2019-04-30