すべてのメモリを占有するプロセスを見つける方法は?

すべてのメモリを占有するプロセスを見つける方法は?

CPU使用量のアイデアを得るために、topのようなものを探しています。これを実行できるコマンドライン引数はtopにありますか?現在のメモリがいっぱいになって、「man top」もメモリ不足で失敗します。 :)

答え1

内部でtop次のことを試すことができます。

  • SHIFT+を押すf
  • %MEMに対応する文字を押してください。
  • ~によるとENTER

次のことを試すこともできます。

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

これにより、メモリ使用量ベースの上位5つのプロセスが表示されます。

答え2

インストールしたら実行した後、()を押してメモリごとに並べ替えることhtop ができることが気に入ります。f6down arrowMEM%enter

答え3

Solaris で必要なコマンドは次のとおりです。

prstat -a -s size

プロセスイメージサイズの降順ですべてのプロセスが一覧表示されます。後者は、常駐する物理メモリ使用量ではなく、オペレーティングシステムがプロセスに割り当てたメモリに基づいていることに注意してください。

おそらくSolarisで利用可能な「トップレベル」バージョンがありますが、これは標準インストールの一部ではありません。

答え4

このコマンドは、最も多くのメモリを消費するプロセスを識別します。

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"

関連情報