GC

java -XX:+PrintCommandLineFlags HelloGC
自己指定堆大小
java -Xmn10M -Xms40M -Xmx60M -XX:+PrintCommandLineFlags -XX:+PrintGC  HelloGC
Xmn10M 新生代大小
Xms40M 最小堆大小
Xmx60M 最大堆大小
PrintGC  打印GC回收信息
最好将堆的最小和最大设置成一样的  不要让堆弹性
PrintGCDetails  打印GC详细信息
PrintGCTimeStamps  打印GC时间戳
 PrintGCCauses  打印GC所产生的原因
java -XX:+UseConcMarkSweepGC -XX:+PrintCommandLineFlags -XX:+PrintGC HelloGC
java -XX:+PrintFlagsInitial 默认参数值
java -XX:+PrintFlagsFinal 最终参数值
java -XX:+PrintFlagsFinal | grep xxx 找到对应的参数
java -XX:+PrintFlagsFinal -version |grep GC

 

 

 times: usr 用户态时间  sys 内核态时间   real  总时间

 

 

 

后面的内存地址指的是,起始地址,使用空间结束地址,整体空间结束地址  
起始地址-整体空间结束地址 是总大小
起始地址-使用空间结束地址 是使用大小
相除就是使用率
Metaspace 元数据区

 

 

1. 吞吐量:用户代码时间 /(用户代码执行时间 + 垃圾回收时间)
2. 响应时间:STW越短,响应时间越好
所谓调优,首先确定,追求啥?吞吐量优先,还是响应时间优先?还是在满足一定的响应时间的情况下,要求达到多大的吞吐量.
问题:
科学计算,吞吐量。数据挖掘,thrput。吞吐量优先的一般:(PS + PO)
响应时间:网站 GUI API (1.8 G1)
什么是调优?
1. 根据需求进行JVM规划和预调优
2. 优化运行JVM运行环境(慢,卡顿)
3. 解决JVM运行过程中出现的各种问题(OOM)

 

posted @ 2022-04-29 11:09  花心大萝卜li  阅读(523)  评论(0)    收藏  举报