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 つの予期しないメモリ ホグのトラブルシューティングの良い出発点になる可能性があります。