topは、多くのUnix系オペレーティングシステムに搭載されているタスクマネージャまたはシステムモニタプログラムで、 CPUとメモリの使用状況に関する情報を表示します。
このプログラムは、ユーザーが指定した基準で選択された実行中のプロセスの順序付きリストを作成し、定期的に更新します。デフォルトの順序は CPU 使用率で、CPU 使用率の高いプロセスのみが表示されます (そのため、この名前が付けられています)。top は、実行中のプロセスの処理能力とメモリの使用量、およびその他の情報を表示します。top のバージョンによっては、列の選択やソート方法など、表示を詳細にカスタマイズできます。top は、どのユーザーとプロセスが特定の時点で最も多くのシステム リソースを消費しているかを示すため、システム管理者にとって役立ちます。

topにはいくつかの異なるバージョンがあります。従来のUnixバージョンはWilliam LeFebvreによって作成され、1984年に著作権が取得されました。[ 1 ] SourceForgeでホストされており、[ 2 ]リリース3.7は2008年に発表されました。[ 3 ]
top の Linux 版は、procps-ngツール群の一部です。元々は Roger Binns [ 4 ]によって作成され、1992 年初頭にリリースされましたが、その後すぐに他の人に引き継がれました。[ 5 ]
Solarisでは、ほぼ同等のプログラムはprstatです。Microsoft Windowsにはtasklistコマンドとグラフィカルなタスクマネージャユーティリティがあります。IBM AIXには、topasコマンドとtopas_nmonコマンドの一部として、実行中のプロセス一覧を更新する機能があります。
Linux のロード アベレージの数値は、実行キューで待機しているプロセスの数と現在実行中のプロセスの数の合計を指します。この数値は絶対値であり、相対値ではありません。そのため、使用率とは異なり、上限がなくなることはありません。プロセスの数の瞬間的な変動は、固定小数点演算を使用して計算される指数関数的減衰式によって抑制されます。[ 6 ]
psプログラムはtopプログラムに似ていますが、実行時に取得したプロセスのスナップショットを生成します。topのn(反復回数)オプションを使用すると、同様の結果が得られ、指定された回数だけプログラムが実行され、出力を表示した後に終了します。
最初の5行はシステム全体の概要を示しています。
top - 14:21:23 up 2 days, 21:40 , 44 users , load average : 14.44, 14.13, 14.64 Tasks : 1552 total, 8 running, 1544 sleeping, 0 stopped, 0 zombie %Cpu(s) : 9.6 us , 0.7 sy , 0.0 ni , 89.5 id , 0.0 wa , 0.0 hi , 0.2 si , 0.0 st MiB Mem : 1031911.+total, 368915.2 free, 172285.0 used, 490711.5 buff/cache MiB Swap : 2048.0 total, 2048.0 free, 0.0 used. 807110.1 利用可能なメモリ
load averageTasks%Cpu(s)MiB Membuff/cacheで使用されるメモリです。MiB Swapavail Mem残りのテキストでは、各行がプロセスを表す表が提供され、多くの可能な列の中から次の列がよく使用されます(列の選択と順序は構成可能です):[ 8 ]
PIDユーザーPR NI VIRT RES SHR S %CPU %MEM TIME+コマンド 1 root 20 0 2456 1612 1500 S 0.0 0.0 0:00.07 init(Ubuntu) 4 ルート 20 0 2456 4 0 S 0.0 0.0 0:00.00 init 656403 user2 20 0 80.0g 3.6g 370000 S 100.0 0.4 1594:38 python3 2024198 longnam+ 20 0 50.5g 4.7g 609200 S 1.6 0.5 204:46.85 long-name-proc 2056804 longnam+ 20 0 237.1g 31.1g 23.1g S 136.8 3.1 69:54.11 python3
PIDUSER+PRNIVIRTRESVIRTSHRS%CPU%MEMTIME+minutes:seconds。 のプラス記号は、TIME+0.01秒単位で正確であることを意味します。 が表示されている場合は、TIME1秒単位で正確です。COMMANDUSERを付けずに切り捨てられます。+