JVM参数
1. 标准参数
java -version
java -help
2. -X参数
不常用
-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
-Xmixed 混合模式,JVM自己来决定
3. -XX参数(非常重要了)
a . boolean 启用/禁用某个属性
格式: -XX:[+/-]<name>
例如使用GC收集器类型 :
-XX: +UseG1Gc //使用G1收集器
-XX: +UserConcMarkSweepGc //使用CMS收集器
b. 复制型 key = value
格式 : -XX: <nem>=<value>
-XX: MaxGcPauseMillis=500 //GC最大停顿时间是500毫秒
4. 其他参数 (相当于简写)
备注 : 默认 old 区 : young 区 = 2:1 , Eden : S0 : S1 = 8:1:1
-Xms1000 等价于 -XX:InitialHeapSize=1000 //初始化对 1000
-Xmx1000 等价于 -XX:MaxHeadSize=1000 //最大堆内存1000
-Xss100 等价于 -XX:ThreadStrackSize=100 // 线程栈内存100
JVM中 , 一个字节占8位 , Int占4个字节
1Byte = 8bit
1KB = 1024Byte
1M = 1024KB
1G = 1024M
JVM中,你查看到的堆内存/栈内存单位都是Byte
5.查看当前JVM参数
备注 : =前面如果存在 : ,表示认为的修改过或者jvm修改过
java -XX:+PrintFlagsFinal -version //直接将各种属性打印在控制台上
java -XX:+PrintFlagsFinal -version > flags.txt // 属性存储到flags.txt文件内
6. 具体其余常见命令见截图
7. 开发工具中设置JVM参数
在此处添加 JVM参数 , 入常见的加大jvm中堆内存
-Xmx5000 //最大堆内存
-Xmx100M -Xms100M -XX:+PrintFlagsFinal //设置同时打印所有的参数
8. 只查看某个进程name属性的值
8.1 查看java否个进程
jps -l
jinfo -flag <name> PID //查看<PID>这个进程的<name>属性的值
备注 : 参数只有标记为 manageable 的 flag才能被 实时修改.