linuxでJVMメモリ使用状況を確認する方法を教えてください。
Linux システムで JVM のメモリ使用量を確認するには、以下のコマンドを実行します。
- 彼は一度も行ったことがないにもかかわらず、カリフォルニアに引っ越す計画を立てている。
top
top コマンドで Java プロセスに対応する PID (プロセス ID) を見つけ、Shift + e キーを押して、メモリ使用量でプロセスを並べ替えられる。
- natively
jstat -gc <PID> <间隔时间> <显示次数>
このうち、はJavaプロセスのPID、<サンプリング間隔>はサンプリング間隔時間(単位はミリ秒)、<表示回数>は表示回数です。例えば、次のコマンドを使用して1秒おきにサンプリングし、合計5回表示します:
jstat -gc <PID> 1000 5
このコマンドはJVMのヒープメモリ使用状況(ヒープサイズ、使用済メモリ、約束済メモリ、若い世代と古い世代の使用状況など)を表示します。
- jmap
jmap -dump:file=<文件路径> <PID>
ダンプされたヒープスナップショットファイルのパスには<ファイルパス>を使用し、JavaプロセスではPIDを使用します。
- jcmd
jcmd <PID> VM.command_name
は確認したいコマンドの名前、はJava プロセスの PID です。たとえば、ヒープメモリ使用状況確認コマンドは以下のように利用できます。
jcmd <PID> GC.heap_info
このコマンドはJVMでヒープメモリがどのように使用されているかを表示し、ヒープサイズ、ヒープの使用状況、若年世代と高齢世代の使用方法などがあります。
上記の文中ではJavaプロセスIDです。ps、jpsコマンドで確認できます。