JProfiler在Linux下的正確使用方法
在生產環境下按照前幾天研究出來的JProfiler使用方法,結果一下就JVM crash,搗鼓了n久還是不行,害得出了一身冷汗,後來再次摸索了一下,原來之前不小心使用了WindowsX86下的方法,LinuxX86是不一樣的。
按照Quickstart來建立remoting application,然後將 C:/Documents and Settings/使用者名稱/.jprofiler4/config.xml 這個配置檔案copy到 Linux 下一個目錄,如 /opt/jprofiler4/,之後使用 JVMPI 的方式來啟動 JProfiler的agent:
JRockit:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/jprofiler4/bin/linux-x86//usr/local/jrockit/bin/java -Xms1024m -Xmx1024m -Xjvmpi:entryexit=off -Xrunjprofiler:port=8849,nowait,id=101,config=/opt/jprofiler4/config.xml -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar -Xgc:parallel
Sun JDK:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/jprofiler4/bin/linux-x86/
/usr/lib/java -Xms1024m -Xmx1024m -Xrunjprofiler:port=8849,nowait,id=101,config=/opt/jprofiler4/config.xml -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar
注意這裡有個id=101,這個號需要從config.xml裡面獲取
==============================
補充一下2種JVM在2個平臺下的設定:
SUN JVM - Windows - JVMTI
-agentlib:jprofilerti=port=8849 "-Xbootclasspath/a:D:/Program Files/jprofiler4/bin/agent.jar"
SUN JVM - Linux - JVMTI
-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler/bin/agent.jar
JRockit VM - Windows - JVMPI - wait
-Xjvmpi:entryexit=off -Xrunjprofiler:port=8849 "-Xbootclasspath/a:D:/Program Files/jprofiler4/bin/agent.jar"
JRockit VM - Linux - JVMPI - nowait
-Xjvmpi:entryexit=off -Xrunjprofiler:port=8849,nowait,id=102,config=/opt/jprofiler4/config.xml -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar
注意nowait時,需要提供配置檔案