0

本番サーバーでjprofilerを起動し、プロファイリングを行った後、それを強制終了しました(kill -9)。

今、私はそれを再開しようとしていますが、「プロファイルされていないJVMが見つかりません」のみを受け取ります。メッセージが表示されますが、jpsコマンドはアプリケーションが実行中であることを示しています(実際に自分で動作していることがわかります)。

おそらく、jprofilerは、現在プロファイルしているjvmに関する情報をファイルに保存し、killコマンドによってこのファイルの更新が妨げられた可能性があります。では、どうすれば手動でクリーニングできますか?

ps jprofileを削除してから再度解凍しようとしましたが、まだ機能していません。

4

3 に答える 3

11

JProfilerは、JDKの一部である「AttachAPI」を介してJVMを検索します。$TMP/hsperfdata_$USERホットスポットJVMによって作成されたディレクトリを見てください。実行中のすべてのJVMのPIDファイルが含まれている必要があります。そうでない場合は、ディレクトリを削除して、すべてのJVMを再起動します。

于 2012-02-07T13:03:01.057 に答える
1

このQAを見ると、jpを強制終了しない限り、JavaプロセスでJprofilerエージェントをアンロードすることはできません。

あなたが本当にエージェントを殺すことができるかどうかはわかりません。

プロファイルされていないJVMが見つかりません。Jprofilerを2回起動すると、メッセージが表示されます。監視対象のJavaアプリケーションを再起動してみてください。

于 2016-09-28T07:37:55.143 に答える
0

WLSサーバーでは、これは通常、サーバーを再起動し、2つのJVMが鳴っていることを意味します。これを実行してjpenableを開始します: ./ jpenable --gui --port = 8888 --pid = $ WLS_ID そしてこのエラーが発生します: PID14690のJVMはプロファイル解除されていません。

リストされているものを殺す: キル-9 14690

上記のjpenable起動コマンドを次の出力で再実行します。weblogic.Server への接続[18037]...これで、JProfilerGUIを使用してポート8888に接続できます。

18037は、JProfilerクライアントに接続できないJVMのPIDです。

于 2020-05-15T22:39:34.217 に答える