JVM 调优实战--常用命令参数及PS收集器的GC日志格式
目錄
了解JVM常用命令行參數(shù)
Parallel Scavenge(PS)的GC日志格式
了解JVM常用命令行參數(shù)
-
JVM的命令行參數(shù)參考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
-
查看所有跟CMS相關(guān)的命令
-
HotSpot參數(shù)分類(lèi)
標(biāo)準(zhǔn): - 開(kāi)頭,所有的HotSpot都支持
非標(biāo)準(zhǔn):-X 開(kāi)頭,特定版本HotSpot支持特定命令
不穩(wěn)定:-XX 開(kāi)頭,下個(gè)版本可能取消
java -version
java -X
試驗(yàn)用程序:?
import java.util.List; import java.util.LinkedList;public class HelloGC {public static void main(String[] args) {System.out.println("HelloGC!");List list = new LinkedList();for(;;) {byte[] b = new byte[1024*1024];list.add(b);}} }下述命令的補(bǔ)充:
PrintGC:粗略打印GC信息。
PrintGCDetails:打印詳細(xì)的GC信息。
PrintGCTimeStamps:打印GC產(chǎn)生時(shí)系統(tǒng)的詳細(xì)時(shí)間。
PrintGCCauses:打印GC產(chǎn)生的原因。
1. java -XX:+PrintCommandLineFlags HelloGC 2. java -Xmn10M -Xms40M -Xmx60M -XX:+PrintCommandLineFlags -XX:+PrintGC HelloGC 3. java -XX:+UseConcMarkSweepGC -XX:+PrintCommandLineFlags HelloGC 4. java -XX:+PrintFlagsInitial 默認(rèn)參數(shù)值 5. java -XX:+PrintFlagsFinal 最終參數(shù)值 6. java -XX:+PrintFlagsFinal | grep xxx 找到對(duì)應(yīng)的參數(shù) 7. java -XX:+PrintFlagsFinal -version |grep GC上述命令依次執(zhí)行結(jié)果:?
Parallel Scavenge(PS)的GC日志格式
每種垃圾回收器的日志格式是不同的!
PS日志格式
heap dump部分:
當(dāng)產(chǎn)生堆內(nèi)存溢出時(shí),jvm會(huì)將內(nèi)存dump出來(lái)。
eden space 5632K, 94% used [0x00000000ff980000,0x00000000ffeb3e28,0x00000000fff00000)后面的內(nèi)存地址指的是,起始地址,使用空間結(jié)束地址,整體空間結(jié)束地址總結(jié)
以上是生活随笔為你收集整理的JVM 调优实战--常用命令参数及PS收集器的GC日志格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java代码优化思路(JVM的角度)
- 下一篇: JVM 调优实战--什么是调优及如何调优