プロセスごと/スレッドごとのメモリ消費量(ヒープ、スタック、データ、コードに分割)を監視するにはどうすればよいですか?


11

ジャンプして独自のコードを書く前に、QNXにshowmem似たものを出力できるGNU / Linuxソフトウェアがあるかどうかを確認したいと思います。

実行中の各プロセスの各スレッドについて、メモリ消費量を次のカテゴリに分類したいと思います。

 Process listing (Total, Code, Data, Heap, Stack, Other)
 319488  1024000      24587     167936      24576          0        4103 devc-con-hid (thread 2)
    0          0          0          0       4096          0        4103 devc-con-hid (thread 2)
    0          0          0          0      20480          0        4103 devc-con-hid (thread 1)
    0     102400       8192          0          0          0        4103 devc-con-hid (proc/boot/devc-con-hid)
    0          0      16384          0          0          0        4103 devc-con-hid (proc/boot/libc.so.3)
    0          0          0          0          0  (   36864)       4103 devc-con-hid (/dev/mem)

これを可能にするものはありますか?


この情報のほとんどは次のように見えます/proc/$PID/smaps
Bratchley

その通りですが、実行して自動的にメモリ情報を出力できるツールがあることを望んでいました。
Alex Dima

特定のニーズを持つ人のためにそこにメモリプロファイラーがあると確信しています。ほとんどの人は、そのprocファイルの内容を定期的に保存するだけで済みます。FWIW valgrindのコンポーネントの1つにかなり優れたプロファイラがあるようです。私はそれを使ったことがありませんが、たぶんそれはあなたが入る方向です。
Bratchley 2015年

回答:


6

あなたはいくつかの情報を使用して見ることができますpmap -x PID-それはプロセスの各ライブラリ/モジュール/オープンファイル/スタックのためにキロバイト、RSS、ダーティメモリに分割されています:

undefine @ uml:〜$ pmap -x 13206
13206:60睡眠
アドレスKバイトRSSダーティモードマッピング
0000000000400000 24 20 0 rx--スリープ
0000000000606000 4 4 4 r ----スリープ
0000000000607000 4 4 4 rw ---スリープ
000000000063b000 132 8 8 rw --- [anon]
00007f6a9847e000 4308 44 0 r ----ロケールアーカイブ
00007f6a988b3000 1772 376 0 rx-- libc-2.19.so
00007f6a98a6e000 2048 0 0 ----- libc-2.19.so
00007f6a98c6e000 16 16 16 r ---- libc-2.19.so
00007f6a98c72000 8 8 8 rw --- libc-2.19.so
00007f6a98c74000 20 12 12 rw --- [アノン]
00007f6a98c79000 140116 0 rx-- ld-2.19.so
00007f6a98e71000 12 12 12 rw --- [アノン]
00007f6a98e99000 8 8 8 rw --- [anon]
00007f6a98e9b000 4 4 4 r ---- ld-2.19.so
00007f6a98e9c000 4 4 4 rw --- ld-2.19.so
00007f6a98e9d000 4 4 4 rw --- [アノン]
00007fff09fd0000 132 12 12 rw --- [スタック]
00007fff09ffe000 8 4 0 rx-- [anon]
ffffffffff600000 4 0 0 rx-- [anon]
---------------- ------- ------- ------- 
合計kB 8652 656 96
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.