JPS指令常用來檢視linux伺服器上的JVM的執行個體
-l:輸出這個application的main class的full package name,或者main class的jar file路徑
jps -l
3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR
2857 sun.tools.jstatd.jstatd
-v: 輸出JVM的arguments
22228 Jps -Denv.class.path=.:/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/lib/ -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home -Xms8m
22133 AppMain -Dmaven.home=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3 -Dclassworlds.conf=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/m2.conf -Didea.launcher.port=7532 -Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
15389 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/Users/java_error_in_idea_%p.log -XX:HeapDumpPath=/Users/java_error_in_idea.hprof -Xbootclasspath/a:../lib/boot.jar -Xms128m -Xmx2048m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -XX:MaxPermSize=1024m -Djb.vmOptionsFile=/Users/Library/Preferences/IntelliJIdea2016.2/idea.vmoptions -Didea.java.redist=jdk-bundled -Didea.home.path=/Applications/IntelliJ IDEA.app/Contents -Didea.executable=idea -Didea.paths.selector=IntelliJIdea2016.2
當然也可以疊加使用
jps -lv
22133 com.intellij.rt.execution.application.AppMain -Dmaven.home=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3 -Dclassworlds.conf=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/m2.conf -Didea.launcher.port=7532 -Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
22235 sun.tools.jps.Jps -Denv.class.path=.:/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/lib/ -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home -Xms8m
jstat指令常用來監控某個jvm程序的記憶體占用問題
jstat -gc #pid
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
26752.0 26752.0 6877.0 0.0 214592.0 203198.4 535784.0 361816.3 259284.0 242894.3 36336.0 32603.2 600 9.602 56 51.876 61.478
jstat -gc #pid #interval 最後一個參數定義列印的間隔時間
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
26752.0 26752.0 0.0 9500.9 214592.0 66557.6 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
26752.0 26752.0 0.0 9500.9 214592.0 66716.9 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
26752.0 26752.0 0.0 9500.9 214592.0 66741.6 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
26752.0 26752.0 0.0 9500.9 214592.0 66751.4 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
26752.0 26752.0 0.0 9500.9 214592.0 66751.4 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
26752.0 26752.0 0.0 9500.9 214592.0 66751.4 535784.0 361816.3 259284.0 242895.6 36336.0 32603.2 601 9.612 56 51.876 61.488
jstat -class #pid 列印該程序加載了多少個類,以及這些類所占用的空間;未加載多少個class,以及占用的空間
Loaded Bytes Unloaded Bytes Time
49281 92067.2 3313 4221.3 33.73