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

Linux:すべての RAM を使用しているプロセスを見つけますか?

top の Linux の場合 <を押すことができるプロセス 出力表示ソートを左にシフトするキー。デフォルトでは、%CPU でソートされます キーを 4 回押すと、VIRT でソートされます。 これは仮想メモリ サイズであり、答えが得られます。

これを行う別の方法は次のとおりです。

ps -e -o pid,vsz,comm= | sort -n -k 2

プロセスの仮想サイズでソートされた出力が得られるはずです。

ロングバージョンはこちら:

ps --everyone --format=pid,vsz,comm= | sort --numeric-sort --key=2

プロセス メモリ (メガバイト単位) とプロセス パスを表示します。

ps aux  | awk '{print $6/1024 " MB\t\t" $11}'  | sort -n

同じ症状を示しているが、まだメモリの枯渇を示しているサーバーの補足事項です。最終的に見つかったのは、32 GB の RAM を備えたボックスからの sysctl.conf であり、ヒュージ ページが 12000 に設定された DB 用にセットアップされていました。このボックスには 2 GB の RAM しかないため、すべての空き RAM をヒュージ ページに割り当てていました (それらの960)。いずれにしても使用されなかったヒュージ ページを 10 に設定すると、すべてのメモリが解放されます。

/proc/meminfo をすばやくチェックして HugePages_ 設定を探すことは、少なくとも 1 つの予期しないメモリ ホグのトラブルシューティングの良い出発点になる可能性があります。


Linux
  1. Linuxで開いているすべてのポートのリストを見つける方法

  2. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  3. Linuxでのコマンドまたはプロセスの実行時間を検索する

  1. Linux でどのプロセスがファイルをロックしているかを調べるにはどうすればよいですか?

  2. すべてのディスク IO を使用しているプロセス

  3. Linuxでプロセスの優先順位を見つけるコマンドは何ですか?

  1. Linux –システムに搭載されているハードディスクを確認する方法は?

  2. Linux ですべてのスパース ファイルを見つける方法

  3. Linux ソートのデフォルトの順序は何ですか?