プログラムが使用しているメモリ量を調べる方法


8

私はhtopを使用してプロセスを監視していますが、実行されたほとんどのサービスはマルチスレッド化されているため、メモリ使用量の割合が複数の行に表示され、場合によってはすべて同じです。

Firefoxの場合、それぞれがメモリの13%を消費する15のプロセスをリストできるとします。

Firefox、MySQL、一部のfcgiスクリプトなど、大量のメモリが消費されていることを知っていますか?htop出力は誤解を招くようです。

回答:


6

ほとんどのトップ実装には、スレッドの表示をオンまたはオフにする方法があります。

  • htop:[設定/表示オプション]メニューの[ユーザーランドスレッドを非表示]。
  • Linux top:を押しHてスレッドの表示を切り替えます(ただし、デフォルトではオフになっています)。
  • OpenBSD top:押しTてスレッドの表示を切り替えます(ただし、デフォルトではオフになっています)。

メモリマッピング、つまりメモリの占有はプロセスのプロパティであるため、プロセス内のすべてのスレッドで常に同じ番号が表示されることに注意してください。異なる数値が表示される場合は、複数のプロセスがあることを意味します。

概念が明確に定義されていないため、一連のプロセスの合計メモリ消費量を簡単に調べる方法はありません。メモリの一部が共有される場合があります。これは常に共有ライブラリで発生し、さらに関連するプロセス(サーバーの複数のインスタンスなど)が共有メモリを使用してデータを交換する可能性が高くなります。数値を追加するだけの場合、実際に使用されているメモリよりもはるかに大きな数値が得られることがよくあります。


1
プロセスのメモリコンセプトが明確に定義されていないことに気付きませんでした。ありがとう
Jjdelc '10年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.