2016-05-20 8 views
0

Windows 7にjprofiler 9をインストールしましたが、オフラインモードでリモートLinux上で動作するJVMをリモートプロファイルしようとしています。オフラインモードでJprofiler 9エラーをスローする

JVM引数にJVM引数を次のように追加しました。バイナリとconfig.xmlをlinuxボックスにコピーしました。私は、サーバーの起動時に

#Jprofiler Settings 
JAVA_OPTIONS="-agentlib:jprofilerti=port=8849,nowait -Xbootclasspath/a:/home/jprofiler9/bin/agent.jar -agentpath:/home/jprofiler9/bin/linux-x64/libjprofilerti.so=offline,id=108,config=/home/.jprofiler9/config.xml ${JAVA_OPTIONS}" 
export JAVA_OPTIONS 
export LD_LIBRARY_PATH=/home/jprofiler9/bin/linux-x64:$LD_LIBRARY_PATH 

は、今私は、セグメンテーションフォールトを取得し、ログが

JProfiler> Protocol version 50 
JProfiler> Using JVMTI 
JProfiler> JVMTI version 1.1 detected. 
JProfiler> Don't wait for frontend to connect. 
JProfiler> 64-bit library 
JProfiler> Starting up without initial configuration. 
JProfiler> Listening on port: 8849. 
JProfiler> Instrumenting native methods. 
JProfiler> Can retransform classes. 
JProfiler> Can retransform any class. 
JProfiler> Native library initialized 
JProfiler> Protocol version 50 
JProfiler> Using JVMTI 
JProfiler> JVMTI version 1.1 detected. 
JProfiler> Offline profiling mode. 
JProfiler> 64-bit library 
JProfiler> Using config file /home/.jprofiler9/config.xml (id: 108) 
JProfiler> Listening on port: 8849. 
JProfiler> Instrumenting native methods. 
JProfiler> Can retransform classes. 
JProfiler> Can retransform any class. 
JProfiler> Native library initialized 
JProfiler> VM initialized 
JProfiler> Using sampling (1 ms) 
JProfiler> Time measurement: elapsed time 
**JProfiler> CPU profiling enabled** 
JProfiler> VM initialized 
JProfiler> Using sampling (1 ms) 
JProfiler> Time measurement: elapsed time 
JProfiler> CPU profiling enabled 
<PATH>/startWebLogic.sh: line 192: 3372 Segmentation fault  (core dumped) ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WLS_POLICY_FILE} ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} 
Stopping Derby server... 

1以下であるからそれはGUI、サーバーの起動を使用してオンラインモードでは)、コアをダンプし、私は、プロファイルを取ることができます。しかし、サーバーが起動している間、私はJprofilerをサーバーから切り離し、サーバーが起動すると再び接続してプロファイルを取得します。 オフラインモードでは、切り離し機能がありますか?ログにそれが「が有効JProfilerを> CPUプロファイリング」を言うため、サーバーはヒープサイズを開始

注8ギガバイト

2)ので、オフラインモードでは、実際にはCPUのプロファイルをキャプチャしようとしているサーバーです。これは、サーバの起動は、あなたが二回ネイティブエージェントライブラリをロードするセグメンテーションエラーで

おかげ

+0

プロファイルされたJVMの作業ディレクトリにhserr_pid ...ファイルがありますか? –

+0

theeはhserr_pidファイルではありません。コアダンプのgdbはこれを示しています。これはサーバーが起動している間に発生します 'コアは/ home/jdk/bin/java -server -Xms768m -Xmx1536m -XX:PermSize = 256m -XX:M 'によって生成されました。 プログラムは信号11、セグメンテーションフォルトで終了しました。 #0 0x00007f4d7ed8a9f0? () "/home/core.PID"はコアファイルです。 デバッグする実行ファイルを指定してください。 (gdb)bt #0 0x00007f4d7ed8a9f0? () #1 0x00007f4d7ed8aa1b? () #2 0x0000000000000000? () (gdb) ' – Pradeep

答えて

0

を失敗している理由として理由ができます。つまり、2つの-agentlib:jprofilertiパラメータ、またはエージェントライブラリをロードする別の-agentpathパラメータを渡します。

関連する問題