2009-08-06 5 views
0

Linuxでのメモリのプロセス使用状況を監視する方法は? 各プロセスがメモリからどれくらいの量を取るか正確に知りたい。はLinuxでの使用メモリを処理します

+0

ダッシュアップのhttp://stackoverflow.com/questions/131303/linux-how-to-measure-actual-memory-usage-of-an-application-or-process/1237930 –

答えて

1

これをインタラクティブに表示するには「トップ」コマンドを使用し、すべてのプロセスの完全なリストを取得するには「ps aux」と入力します。 grepを実行すると、特定のプロセス(ps aux | grep apacheなど)の正確な統計情報を得ることができます。

1

Linux上の共有ライブラリアプリケーションで使用されているメモリの量を正確に知ることは、一般的には難しいですが、通常は "ps aux"の出力にRSSカラムが必要です。

Hereは便利なユーティリティです。

2

Linuxは共有メモリをサポートしています。つまり、タスクが他のプロセスとメモリの一部または大部分を共有するためです。

さらに悪いことに、仮想メモリもサポートされています。これは、プロセスが実際にその時点で物理メモリにないメモリに概念的にマップされていることを意味します。

スレッドは、実際にはメモリマップが完全に別のものと共有されるタスクの特殊なケースです。

私たちが持っているすべては、次のとおりです。

  • 仮想メモリのサイズ - 「VIRT」の「トップ」で報告されたように - これは、プロセスがマッピングされたことをアドレス空間の量です。その中には、物理​​メモリを使い切っていないもの(たとえば、同じファイルを複数回マップしたものなど)にマップされているものもあれば、マップされていても割り当てられていないものがあります。
  • 常駐セットサイズ - プロセスがマッピングしているメモリの量です。つまり、物理RAM内にありますが、もちろんそれらの多くは他のプロセスと共有されます。

「メモリ使用量」とはまったく同じものではありません。

スワップ領域にスワップアウトされていないページは、ロードされていない(またはmmap、ライブラリ、実行可能ファイルなどの)デマンドロードされたページです廃棄される)。

0

私はそれを見つけることができませんが、私はいくつかの情報が/ proc /の下に見つかると思います。 ちょうど数字(プロセスpid)で名前が付けられたそれらのディレクトリの下。

したがって、pid 7365のプロセスでは、/ proc/7365/statusのようなものを見ることができます。

関連する問題