web-dev-qa-db-ja.com

すべてのメモリを使用しているプロセスを見つける方法は?

トップのようなものを探していますCPU使用率です。これを行うtopのコマンドライン引数はありますか?現在、私のメモリは非常にいっぱいなので、「man top」でさえメモリ不足で失敗します:)

87
ripper234

topの中から、次のことを試すことができます。

  • 押す SHIFT+f
  • %MEMに対応する文字を押します
  • 押す ENTER

あなたも試すかもしれません:

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

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

107
Steven D

あなたがそれをインストールしているなら、私はhtopが好きですそれを起動したらあなたは押すことができます f6、 down arrow (MEM%へ)、 enter メモリで並べ替えます。

11
xenoterracide

topが起動したら、 F ソートフィールド画面に切り替えます。左側にリストされているキーを押して、リストされているフィールドの1つを選択します。あなたはおそらく欲しい N ために MEM%

7
Michael Mrozek

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

prstat -a -s size

これにより、すべてのプロセスがプロセスイメージサイズの降順で一覧表示されます。後者は、OSによってプロセスにコミットされたメモリに基づいており、常駐の物理メモリの使用量に基づいていないことに注意してください。

Solarisで利用可能な「トップ」のバージョンが存在すると思われますが、これらは標準インストールの一部ではありません。

6
Joel Hoff

topに代わるものとして、htopがあります。それをチェックしてください、それは通常のトップよりはるかにユーザーフレンドリーです。

5
Klark

それは複数の方法で達成できますが、私のお気に入りは次のとおりです。

PSの方法:

  1. [arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort=-%mem

    どこ、

    • -e:すべてのプロセスを選択する
    • -o:出力フォーマットに適用する
    • pidcmd%cpu%mem:正確な順序での出力形式。ここでは、%cpu%memの代わりにpcpupmemを使用できます。
    • しかし、残念なことに(なぜか分からない)動作しない一部のマシン(Oracle Linux)と一部の古いマシンで。次のような代替手段を使用できます。
  2. [arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort -rss

    どこ、

    • -rss:常駐セットサイズ、タスクが使用したスワップされていない物理メモリ
  3. [arif@arif ~]$ ps --cols 120 aux --sort -rss

    どこ、

    • --cols 100cmdが非常に長くなる場合があるため、出力の列幅を指定します。引数付きの短縮されたコマンドが必要ない場合、これは必要ありません。
    • aux:BSD構文を使用してシステム上のすべてのプロセスを表示する

一番上の方法

[arif@arif ~]$ top -b -o +%MEM

どこ、

  • -btopbatchモードとして使用します。
  • -o:並べ替えフィールド名に続いてフィールド名を上書きする%MEM

そして、いつでもheadtailを使用して出力を制御できます。

1
muhammad

このコマンドは、メモリを最も消費しているプロセスを特定します。

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

Globally: Splunk、ELKなどの履歴ログをログに記録するには、ログアナライザーツールを使用することを常にお勧めします。クエリ言語を使用すると、CPUとメモリによるPIDとその使用状況を簡単に取得できます。

AT SERVER/OS LEVEL:上から、次のことを試すことができます。

 Press SHIFT+M  ---> This will give you a process which takes more memory in descending order.

あなたも試すかもしれません:

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10

これにより、メモリ使用量の上位10プロセスが表示されます。また、vmstatユーティリティを使用して、履歴ではなくRAMの使用状況を同時に見つけることもできます。

0
Santosh Garole

あなたが試すことができます ps aux --sort -rss | headまたはps aux | sort -nk +4 | tail

0
David Okwii