博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java虚拟机(JVM)调优和Debug的常用参数详解
阅读量:4113 次
发布时间:2019-05-25

本文共 1539 字,大约阅读时间需要 5 分钟。

引言:JVM中的参数,根据是否常修改,可分为标准类型和非标准类型。标准类型的代表有 -server,-client和-version这种无论在那个版本JVM中都是自带不可改的部分。 —Xint,-Xcomp和-Xmixed这类X开头的也是不可修改。其它部分则可统一归类到非标准类型中,也是本文要详解的主要内容。

1.堆内存的配置信息参数

-Xms -Xmx 堆的容量-XX:NewSize -XX:MaxNewSize 新生代的大小-XX:NewRatio  设置Yong 和 Old的比例   -XX:SurvivorRatio 设置两个Survivor区和Eden的比-XX:MetaspaceSize -XX:MaxMetaspaceSize metaspace 大小 (下面的参数都是小弟,主要调整老大即可,容量大了,下面的也会变大)-XX:+UseCompressedClassPointers 使用压缩短指针-XX:CompressedClassSpaceSize 压缩类空间的大小 默认1G 可以设置-XX:InitialCodeCacheSize  codeCache 最小值-XX:ReservedCodeCacheSize codeCache 最大值-XX:StringTableSize=99991  调整String Pool的大小

2.堆内存运行时的查看信息

jps -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名jinfo -flag MaxHeapSize 
<进程pid>
查看某运行进程的最大堆内存jinfo -flags
<进程pid>
显示被手动赋过值的参数jinfo -flag UseG1GC 30101 是否使用G1收集器jinfo -flag useConcMarkSweepGC 30101 是否使用了CMS收集器

以下是jps实际运行结果:

在这里插入图片描述
jinfo实际运行结果如下:
在这里插入图片描述在这里插入图片描述

打印:

-XX:+PrintFlagslnitial(可设置参数的初始值)  显示的参数如果是:=则表示是修改过的,=则表示是默认值-XX:PrintFlagsFinal-XX:+PrintCommandLineFlags打印命令行参数

诊断:

-XX:UnlockExperimentalVMOptions解锁实验参数(先决条件)-XX:+UnlockDiagnosticVMOptions解锁诊断参数

查看全部参数命令:java -XX:+PrintFlagsFinal -version

3.JVM统计信息

jstat的一系列命令可以查看JVM的类装载垃圾回收相关信息

jstat -class 
<进程pid>
监视类装载、卸载数量、总空间以及耗费的时间jstat -gc
<进程pid>
[1000] [10] 垃圾回收堆的行为统计(此处是每秒打印10次)

以下是jstat实际运行结果:

在这里插入图片描述
Loaded : 加载class的数量
Bytes : class字节大小
Unloaded : 未加载class的数量
Bytes : 未加载class的字节大小
Time : 加载时间

S0C、S1C、S0U、S1U:S0和S1的总量与使用量(S0 和S1 不会同时启用,未启用的会是0)

EC、EU: eden区总量与使用量
OC、OU:Old区总量与使用量
MC、MU:Metaspace区总量与使用量
CCSC、CCSU:压缩类空间总量与使用量
YGC、YGCT:YoungGC的次数与时间
FGC、FGCT:FullGC的次数与时间
GCT:总的GC时间

转载地址:http://jbrsi.baihongyu.com/

你可能感兴趣的文章
数据结构之队列、栈
查看>>
数据结构之树
查看>>
数据结构之二叉树
查看>>
二叉树非递归遍历算法思悟
查看>>
红黑树算法思悟
查看>>
从山寨Spring中学习Spring IOC原理-自动装配注解
查看>>
实例区别BeanFactory和FactoryBean
查看>>
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>
微信小程序中使用npm过程中提示:npm WARN saveError ENOENT: no such file or directory
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
Vue项目中使用img图片和background背景图的使用方法
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>