トップのようなものを探していますCPU使用率です。これを行うtopのコマンドライン引数はありますか?現在、私のメモリは非常にいっぱいなので、「man top」でさえメモリ不足で失敗します:)
top
の中から、次のことを試すことができます。
あなたも試すかもしれません:
$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5
これにより、メモリ使用量の上位5プロセスが表示されます。
あなたがそれをインストールしているなら、私はhtop
が好きですそれを起動したらあなたは押すことができます f6、 down arrow (MEM%
へ)、 enter メモリで並べ替えます。
top
が起動したら、 F ソートフィールド画面に切り替えます。左側にリストされているキーを押して、リストされているフィールドの1つを選択します。あなたはおそらく欲しい N ために MEM%
Solarisでは、必要なコマンドは次のとおりです。
prstat -a -s size
これにより、すべてのプロセスがプロセスイメージサイズの降順で一覧表示されます。後者は、OSによってプロセスにコミットされたメモリに基づいており、常駐の物理メモリの使用量に基づいていないことに注意してください。
Solarisで利用可能な「トップ」のバージョンが存在すると思われますが、これらは標準インストールの一部ではありません。
top
に代わるものとして、htop
があります。それをチェックしてください、それは通常のトップよりはるかにユーザーフレンドリーです。
それは複数の方法で達成できますが、私のお気に入りは次のとおりです。
PSの方法:
[arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort=-%mem
どこ、
-e
:すべてのプロセスを選択する-o
:出力フォーマットに適用するpid
、cmd
、%cpu
、%mem
:正確な順序での出力形式。ここでは、%cpu
と%mem
の代わりにpcpu
とpmem
を使用できます。[arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort -rss
どこ、
-rss
:常駐セットサイズ、タスクが使用したスワップされていない物理メモリ[arif@arif ~]$ ps --cols 120 aux --sort -rss
どこ、
--cols 100
:cmd
が非常に長くなる場合があるため、出力の列幅を指定します。引数付きの短縮されたコマンドが必要ない場合、これは必要ありません。aux
:BSD構文を使用してシステム上のすべてのプロセスを表示する一番上の方法:
[arif@arif ~]$ top -b -o +%MEM
どこ、
-b
:top
をbatch
モードとして使用します。-o
:並べ替えフィールド名に続いてフィールド名を上書きする%MEM
そして、いつでもhead
やtail
を使用して出力を制御できます。
このコマンドは、メモリを最も消費しているプロセスを特定します。
ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
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の使用状況を同時に見つけることもできます。
あなたが試すことができます ps aux --sort -rss | head
またはps aux | sort -nk +4 | tail