問題タブ [hprof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - サーバー側のプロファイルアプリケーション
私client
はMultithreaded
コードであり、REST service
このマシンにデプロイされている私の1つにヒットしています-
http://px5qa01c-8539.host.com:8080/service/TEService/v1/get/USERID=100/PURCHASED
上記のマシンにリモートアクセスでき、Linuxホストです。
今、私は自分の意味で行うことprofiling
を計画しています。RESTサービスでどのメソッドがどのくらいの時間を費やしているかを確認する必要があります。Server Side
REST Service
クライアント側では、このようなプログラムを実行しています。これREST Service
は、上記のマシンにデプロイしたものに影響します。
java -Xrunhprof:cpu=samples,thread=y,depth=12,cutoff=0 -jar ServiceLnP.jar service_config.properties NUMBER_OF_THREADS:20 TOTAL_RUNNING_TIME:60
したがって、クライアント側では、java.hprof.txt
HPJmeterで開いて分析できるファイルが生成されます。
問題文:-
しかし、サーバー側ではどうすればよいですか?他のマシンにデプロイされたアプリケーションのプロファイルを作成するための最良の方法は何ですか。
参考までに-それがデプロイされているコンテナはGeronimoです。それで、サーバーでも有効hprof
にする方法はありますか?RESTサービスが終了した後すぐに、java.hprof.txt
さらに分析できるように生成されますか?
java - プログラムでコマンド ラインから HPROF メモリ ダンプ ファイルを分析する
Eclipse の Memory Analyzer (MAT) を使用して HPROF ファイルを解析して調査しました。ドミネーター ツリー、レポート、および OQL インターフェイスは非常に便利です。ただし、これはすべて MAT ソフトウェアから手動で行う必要があります。
プログラムで HPROF を解析し、カスタム レポートを自動的に生成できるコマンドライン インターフェイスはありますか。
これは、これをテスト インフラストラクチャに統合して、自動メモリ分析を行うのに役立ちます。
ちなみに、ヒープサイズは 10 ~ 60MB です。
java - Citrix サーバーで hprof を取得するにはどうすればよいですか?
Citrix で実行されている Java アプリの hprof をキャプチャする必要があります。
したがって、プロセスはサーバー上にありますが、UI はクライアント マシン上にあります。VisualVM を使用してサーバー上の javaw.exe にアタッチできますが、ヒープ ダンプを取得できず (エラー メッセージが表示されます)、VisualVM に「プロファイリング」タブがありません。
このように Citrix で仮想化されているプロセスから hprof を取得するために何をする必要があるか知っている人はいますか?
java - jvisualvm: 「Loading Heap Dump」画面でスタックする
次のコマンドを使用して、hprof でヒープ ダンプ ファイルを作成しました。
これにより、約 5MB のファイル「java.hprof.txt」が正常に作成されました。次に、jvisualvm を開いてこのファイルを表示し、ロードしました。しかし、visualvm がロード画面で動かなくなったようです。下の画面は約 10 分間表示されています。
私はステップを逃しましたか?hprof のコマンド ラインで別のオプションを使用する必要がありましたか? このヒープ ダンプ ファイルを読み取るにはどうすればよいですか?
android - Android: Eclipse で .hprof ファイルを開く
Eclipse DDMS ビューから HPROF ファイルを使用してメモリ リークをチェックしようとしています。
MAT を使用してディスクに保存された .hprof を読み込もうとしましたが、エラーが発生しました:
だから私は、設定を変更するように言われたStackOverflowの別の投稿で解決策をたどりました
Android > DDMS > HPROF アクション: Eclipse で表示
しかし、それはファイルを読み取り不能なテキスト ファイルとして表示するだけです。
それよりも理解しやすいはずだと思っているので、何が間違っているのですか?
編集
hprov-conv.exe と呼ばれるものの使用に関する他の投稿を読んで、それを開こうとしたところ、画面が点滅して閉じた (管理者として開いている場合でも) ため、その使用方法がわかりません。
java - Java プロセスによって割り当てられた合計メモリを (プロファイラーなしで) 取得しますか?
インストルメント化されたプロファイラーを使用せずに、実行中に割り当てられた合計メモリを出力する JVM オプションはありますか?
私は確かに、Java 内のメモリ アロケータがどのように機能するかについての専門家ではありませんが、割り当てられた合計バイト数を追跡することは、ほとんどオーバーヘッドなしで可能であることは確かです。
このアプリケーションは毎秒数万のメッセージ (ピーク時はそれ以上) を何時間も処理する必要があるため、プロファイラーで実行できません。プロファイラーのオーバーヘッドにより、実行不可能になります。
ありがとう