私はubuntu 14.04を使用しています。どのようにヒープがJavaクラスまたはプロセスによって使用されているかを見つける方法はありますか?Javaクラスで使用されているメモリを見つける方法は?
トップコマンドを実行すると、%CPUと%MEMは何を表していますか?
私はubuntu 14.04を使用しています。どのようにヒープがJavaクラスまたはプロセスによって使用されているかを見つける方法はありますか?Javaクラスで使用されているメモリを見つける方法は?
トップコマンドを実行すると、%CPUと%MEMは何を表していますか?
top
の出力は、単一のJava仮想マシンのCPUとメモリの使用量を示します。 Javaプログラムの並行性は、通常スレッドを使用して実現されます。つまり、単一のJava仮想マシン内に多数のスレッドがあります。特定のスレッドまたはJavaプログラムの他のコンポーネントのメモリ使用量に関する詳細情報を取得するには、ヒープダンプをキャプチャしてMATを使用して解析するなど、仮想マシンの内部を調べる必要があります。 MATなどのツールもHow do I analyze a .hprof file?で説明しています。もう1つの可能性は、VisualVMをJava仮想マシンに添付する必要がありますが、私はそれを自分で使ったことはありません。
JDKに含まれているjvisualvmを使用できます。プロファイラで
$YOUR_JAVA_HOME/bin/jvisualvm.
、あなたは、CPUや はあなたが望むものをお見せなければならないメモリのプロファイリングのどちらかを選択することができます。
ここにいくつかのドキュメントがあります:https://visualvm.java.net/profiler.html