Ubuntuの特定のプロセスに割り当てられた合計メモリを調べるにはどうすればよいですか?
Ubuntuの特定のプロセスに割り当てられた合計メモリを調べるにはどうすればよいですか?
回答:
試してください:
pidof bash | xargs ps -o rss,sz,vsz
現在のbash
シェルのメモリ使用量を見つけるため(使用していると仮定bash
)。bash
調査しているものに変更します。特定の1つのプロセスを実行している場合は、それを単独で使用します。
ps -o rss,sz,vsz <process id>
man
ページから:
RSS
:常駐セットサイズ、タスクが使用したスワップされていない物理メモリ(キロバイト単位)。
SZ
:プロセスのコアイメージの物理ページのサイズ。これには、テキスト、データ、およびスタックスペースが含まれます。
VSZ
:KiB単位のプロセスの仮想メモリサイズ(1024バイト単位)。
のman
ページにps
は、-o
オプションに可能なすべての引数がリストされます(選択できるものはかなりあります)。代わりに、代替メモリレイアウトを示す-o rss,sz
BSDスタイルv
オプション(ダッシュなし)を使用できます。
pmap
プロセスのメモリマップを示すwhichを使用できます。
pmap -p pid
詳細については、manページを参照するman pmap
か、pmap(1):プロセスのメモリマップを報告する-Linux manページを参照してください。
Ubuntuの特定のプロセスに割り当てられた合計メモリを調べる方法は?
プロセスに割り当てられるメモリを定義せず、実際にはそれはかなり複雑な質問です(共有メモリマッピングについては-mmap(2)を参照してください。POSIX共有メモリについては-shm_overview(7)を参照してください) ; 開かれたファイルに使用されるページキャッシュ内のいくつかのページはどうでしょうかなど)
あなたは使用することができます/proc/
(BTWで使用されているファイルシステムps
、pmap
、top
、htop
など...)。詳細については、proc(5)をお読みください。あなたが使用することができ、PID 1234のプロセスのために特に/proc/1234/status
、/proc/1234/statm
、/proc/1234/maps
等...彼らはあなたが見ることができることを、すべてのテキストの擬似ファイル(パイプのようなビット)ですcat
(または読み取り順次いくつかのプログラム内)。ところで、あなたが使用する可能性のあるプログラムの内部から/proc/self
(これは擬似シンボリックリンクです)、例えばシーケンシャルに読む/proc/self/status
など...
LinuxAteMyRamも参照してください。