回答:
コマンドpsで簡単にできるのに、なぜ使用するのですtopか?
を使用する必要がある場合はps、これを試してください:
ps aux | sort -nrk 3,3 | head -n 5
常に更新される、本当に「トップ」なものが必要な場合は、watchを使用します
watch "ps aux | sort -nrk 3,3 | head -n 5"
              ps aux | sort -nrk 3,3 | head -n 5
                    top実際にどのように機能するかとはどう違うのでしょうか。
                    topはプロセスリストを読み取り、他のプロセスにパイプすることなく独自に結果を表示します
                    正解は次のとおりです。
ps --sort=-pcpu | head -n 6
したがって、ソートを妨げることなく列を指定できます。
例:
ps -Ao user,uid,comm,pid,pcpu,tty --sort=-pcpu | head -n 6
MAC OS Xに関する注意:Mac OS Xでは、psは認識しません--sortが-r、現在のCPU使用率でソートすることを提案します。したがって、Mac OS Xでは次を使用できます。
ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6
              bash(x2、またはhead同様に)表示されるようpsです
                    sortで、2つ目は、ソートを妨げることなく列を指定する方法を示します。何かを説明するとき..簡潔で、一度に一つのことを説明することが常に良いです。
                    ニーズによっては、これがもう少し読みやすくなるかもしれません。
ps -eo pcpu,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 5
サンプル出力:
 1.3     4 root     [ksoftirqd/0]
 1.1     9 root     [ksoftirqd/1]
 1.0 17606 nobody   /usr/sbin/gmetad
 1.0    13 root     [ksoftirqd/2]
 0.3 17401 nobody   /usr/sbin/gmond
(フィールドは%CPU、PID、USER、COMMANDです)
私はpsあなたが探しているものだとは思わない。からの出力を見ましたtopか?
GNU-Topをお持ちの場合は、バッチモードを使用して、CPU使用量でソートされたプロセスリストを吐き出し、head / tailを使用して上位5行を取得してみてください(最初の8行はヘッダーです)。
top -b -n 1 | head -n 12  | tail -n 5
BSDトップは異なる動作をするようで、非インタラクティブモードがないため、他のpsベースのソリューションのいずれかを使用します。
top -o cpu -n 5、同じことを達成する方法です。誰か知っている?私topはあなたとは違うtop。
                    -oありません-n。
                    topはバッチモードがありませんが、これはかなり制限されています。top他のコマンドにパイプする方法が必要です。調査を行います。
                    topは、今日の午後の説明どおりに機能しました。乾杯。
                    他の貴重な答えにポイントを追加するために、私は好む:
ps auxk-c | head -6
また、ヘッダーも出力します。これは便利です。
これkは、ソートのCPU使用率(エイリアス)フィールド--sortと同じであり、逆ソートのフィールドです。c%cpu-
あなたが区切らより指定子を追加することができ,、他の可能指定子は、次のとおりです。%mem、args、bsdstart、pid、gid、uid...あなたは完全なリストを見つけることができます   標準フォーマット指定子の manページのセクションを。例えば:
 ps auxk -gid,-%mem | head -11
内部的にメモリ使用量でソートされた最高のグループIDを持つ10のプロセスを印刷します。
コマンドラインツールにpsは独自の並べ替えオプションがあるので、次のようにします。
$ ps -eo pcpu,args --sort=-%cpu | head
必要な列を追加できます。他のオプションはpsmanページで利用できます。
$ man ps
              topMac OS Xには、の形式のロギングモードオプションがありますtop -l numberOfSamples(これはGNUのバッチモードに相当するようですtop)。ただし、「表示される最初のサンプルは、サンプル間のデルタを使用して計算されるため、プロセスごとに無効な%CPUが表示される」ため、少なくとも2つのサンプルが必要です(man 1 top)。
# examples
top -o cpu -l 2 -n 5 | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu -U $(logname) | tail -n 6
              トップ5のCPU消費プロセスを確認する最も簡単な方法は、
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 5
上位5つのメモリ消費プロセスを確認するには、
ps -eo pid,comm,%cpu,%mem --sort=-%mem | head -n 5
どこ、
-e :このフラグは、すべてのプロセスを選択するために使用されます
-o :このフラグは、ユーザー定義としてフォーマットするために使用されます。
pid :pidの表示に使用されるこの引数
comm:この引数は、コマンド名のみを表示するために使用されます。完全なコマンドを使用するにはargs、cmdまたはcommand
%cpu:この引数は、プロセスのCPU使用率を「##。#」形式で示します。こちらpcpuも使用できます。
%mem:この引数は、プロセスの常駐セットサイズとマシン上の物理メモリの比率をパーセンテージで示します。こちらpmemも使用できます。
--sort:ソート順を指定します。後にサインがあるデフォルトのオプションは、先頭に最高値をソートするために使用される[すなわち0からn]数値の昇順リストすることです。=-+