1. 程式人生 > >JProfiler在Linux下的正確使用方法

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時,需要提供配置檔案