GNU/Linux >> Linux の 問題 >  >> Linux

実際のメモリ使用量でソートされた上位プロセスを確認するには?

linux/unix で top コマンドを使用してクイック ヒントを使用する

$ top

そして Shift を押します + (つまり、大文字の M を書きます ).

man top から

SORTING of task window
  For compatibility, this top supports most of the former top sort keys.
  Since this is primarily a service to former top users, these commands do
  not appear on any help screen.
    command   sorted-field                  supported
      A         start time (non-display)      No
      M         %MEM                          Yes
      N         PID                           Yes
      P         %CPU                          Yes
      T         TIME+                         Yes

または、代わりに Shift を押します + f 、次にキー n を押して、メモリ使用量で並べ替える表示を選択します 次に Enter を押します .アクティブなプロセスがメモリ使用量順に表示されます


まず、「未使用のメモリは無駄なメモリです」というマントラをしばらく繰り返します。 Linux カーネルは 巨大 より重要に見える何かがそのデータを押し出すまで、要求されたファイルメタデータとファイルの量。これが実行できる理由です:

find /home -type f -name '*.mp3'
find /home -type f -name '*.aac'

2 番目の find があります インスタンスはとんでもない速度で実行されます。

Linux は、あまり労力をかけずにメモリ使用量の急増を処理するために、メモリの「空き」を少しだけ残します。

次に、すべてのメモリを消費しているプロセスを見つけたいと考えています。 topM を使用 メモリ使用量でソートするコマンド。 VIRT は無視してかまいません これは、プロセスが使用しているメモリの量ではなく、割り当てられた仮想メモリの量を示しているだけです。 RES 常駐のメモリ量を報告します 、または現在 RAM にあります (要求されたにもかかわらず、ディスクにスワップされたり、最初から実際に割り当てられなかったりするのではなく)。

しかし、 RES 以降 カウントされます。 /lib/libc.so.6 メモリはほぼすべてのプロセスで 1 回使用されますが、プロセスが使用しているメモリの量を正確に測定できるわけではありません。 SHR 列は、共有されているメモリの量を報告します ただし、別のプロセスが実際に共有しているという保証はありません。共有できる可能性はありますが、他の誰も共有したくないだけです。

smem このツールは、実際に必要なメモリ量をユーザーが正確に測定できるように設計されています 個々のプロセスのせいにする。何が本当にユニークで、何が共有されているかを判断するための巧妙な作業を行い、共有メモリを共有しているプロセスに比例して集計します。 smem top よりも記憶力が向上している場所を理解するのに役立つかもしれません しますが、top は優れた最初のツールです。


Linux
  1. アプリケーションのメモリ使用量を制限するには?

  2. メモリ使用量によるプロセスの並べ替え

  3. Linux でメモリ使用量はどのように報告されますか?

  1. バッチモードで「top」を使用してメモリ使用量で上位15のプロセスを検索

  2. Linuxで最も高いメモリとCPU使用率で上位のプロセスを検索する

  3. メモリとCPU使用率で上位のプロセスを見つける方法

  1. メモリ使用量でソートされた「トップ」の結果をリアルタイムで表示するにはどうすればよいですか?

  2. メモリとCPUの使用量で実行中のプロセスのトップ10を探す

  3. アプリケーションまたはプロセスの実際のメモリ使用量を測定するにはどうすればよいですか?