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
を使用できます。
pmap -p pid
詳細については、man pmap
のマニュアルページを参照するか、 pmap(1):プロセスのメモリマップのレポート-Linuxのマニュアルページ を参照してください。
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 も参照してください。