Linuxのtopシステムタスクを監視するツール

3461 ワード

topシステムタスクを監視するツール;
psと比較して、topはシステムタスクを動的に監視するツールであり、top出力の結果は連続している.
topコマンドの使い方とパラメータ;
top呼び出し方法:
top選択パラメータ
パラメータ:
-bは一括モードで実行されるが、コマンドラインの入力は受け入れられない.-cコマンド名だけでなく、コマンドラインを表示します.-d Nは、−d 5のような2回のリフレッシュ時間の間隔を示し、2回のリフレッシュ間隔が5秒であることを示す.−iアイドルプロセスまたはゾンビプロセスの表示を禁止する.-n NUMは更新回数を表示し、終了する.例えば-n 5は、topが5回更新するとデータが終了することを示す.-p PIDは、指定されたプロセスのIDのみを監視する.PIDは数値です.-q遅延なしにリフレッシュする.-sセキュリティモードで動作し、いくつかの効果的な相互命令を無効にします.-S累積モードは、各プロセスの合計CPU時間を出力し、既に死んだサブプロセスを含む.
インタラクティブコマンドキー:
spaceはすぐに更新されます.cコマンド名表示に切り替え、あるいは、コマンド全体(パラメータを含む)を表示する;f,Fは、表示フィールドを追加するか、表示フィールドを削除する;h,?は、セキュリティモードおよび累積モードに関するヘルプ情報を表示する;kは、プロセスを殺すためのプロセスIDを入力することを示す.(黙人信号は15)iアイドルプロセスとゾンビプロセスを禁止する;lは明示的負荷平均値と正常運行時間などの情報に切り替える;mはメモリ情報に切り替えて、メモリ占有サイズで並べ替える;nヒント表示のプロセス数、例えば3を入力して、スクリーン全体に3つのプロセスを表示する;o,Oは表示フィールドの順序を変える;rはreniceを1つのプロセスに適用して、ヒントは負けるPIDとreniceの値を入力します.sリフレッシュ時間間隔を秒単位で2回変更する.t表示プロセスとCPUの状態の情報に切り替える.Aプロセスの生命の大きさによって並べ替えて、最新のプロセスは一番前に表示します;Mはメモリ占有量の大きさで並べ替えられ、大きいから小さいまで並べ替えられる.NはプロセスIDサイズで並べ替えられ、大きいから小さいまで並べ替えられる.PはCPU占有状況によって並べ替えられ、大きいから小さいSまで累積時間モードに切り替える.Tは時間/累積時間でタスクをソートする.Wは現在の配置を~/.toprcで;
トップアプリケーションの例;
[root@localhost ~]# top

 
次に、前述のインタラクティブコマンドに従って試してみるとわかります.例えば、Mを押すと、メモリ使用量の大きさでソートされます.
もちろんtopの出力をファイルに転送することができます.
[root@localhost ~]# top > mytop.txt

 
その後、mytopファイルを表示して、システムのプロセス状態をゆっくり分析することができます.
 
 
 
この図はtopに入ったばかりの基本ビューで、このビューと結びつけて各データの意味を説明します.
1行目:10:01:23-現在のシステム時間126 days、14:29-システムは126日間14時間29分(この間再起動したことがない)2 users-現在2人のユーザーがシステムload averageにログインしています:1.15、1.42、1.44-load averageの後ろの3つの数はそれぞれ1分、5分、15分の負荷状況です.
load averageデータは、5秒おきにアクティブなプロセス数をチェックし、特定のアルゴリズムで計算した数値です.この数を論理CPUの数で除算すると,結果が5を超えるとシステムが過負荷で稼働していることを示す.
2行目:Tasks-タスク(プロセス)、システムは現在183のプロセスを共有しており、そのうち実行中のプロセスは1つ、182つはスリープ(sleep)、stoped状態のプロセスは0つ、zombie状態(ゾンビ)のプロセスは0つである.
3行目:cpu状態6.7%us-ユーザースペース占有CPUの割合.0.4%sy-カーネル領域がCPUに占める割合.0.0%ni—優先度を変更したプロセス占有CPUの割合92.9%id—アイドルCPUの割合0.0%wa—IO待機占有CPUの割合0.0%hi—ハードブレーク(Hardware IRQ)占有CPUの割合0.0%si—ソフトブレーク(Software Interrupts)占有CPUの割合
ここでCPUの使用率はwindowsの概念とは異なり、ユーザー空間とカーネル空間を理解していない場合は、充電が必要です.
4行目:メモリ状態8306544 k total—物理メモリ総量(8 GB)7775876 k used—使用中メモリ総量(7.7 GB)5306668 k free—空きメモリ総量(530 M)79236 k buffers—キャッシュメモリ量(79 M)
第5行:swap交換パーティション2031608 k total—交換領域総量(2 GB)2556 k used—使用する交換領域総量(2.5 M)2029052 k free—空き交換領域総量(2 GB)4231276 k cached—バッファの交換領域総量(4 GB)
ここで説明するのはwindowsのメモリの概念でこれらのデータを理解することができなくて、もしwindowsの方式のこのサーバーの“危険です”:8 Gのメモリの総量は530 Mの利用可能なメモリしか残っていません.Linuxのメモリ管理には特殊性があり、複雑な点は本で説明する必要があります.ここでは簡単に言えば、私たちの伝統的な概念(windows)とは違います.
4行目で使用するメモリ総量(used)とは、現在システムカーネルが制御しているメモリ数、空きメモリ総量を指します.(free)は、カーネルが管理範囲に含まれていない数です.カーネル管理に組み込まれたメモリがすべて使用されているとは限りません.過去に使用された現在再利用可能なメモリも含まれています.カーネルは再利用可能なメモリをfreeに返さないので、linuxではfreeメモリが少なくなりますが、心配する必要はありません.
使用可能なメモリ数を計算するのに慣れている場合は、4行目のfree+4行目のbuffers+5行目のcachedという近似的な計算式があります.この式では、このサーバの使用可能なメモリ:530668+79236+4231276=4.7 GBです.
メモリモニタリングについては、topで5行目のswap交換パーティションのusedを常にモニタリングします.この数値が絶えず変化している場合は、カーネルがメモリとswapのデータ交換を続けていることを示します.これは本当のメモリでは足りません.
6行目は空行です
7行目以下:各プロセス(タスク)ステータスモニタPID-プロセスidUSER-プロセス所有者PR-プロセス優先度NI-nice値.負の値は高優先度、正の値は低優先度VIRT-プロセスで使用される仮想メモリの総量、単位kb.VIRT=SWAP+RESRES-プロセスで使用される、スワップされていない物理メモリサイズ、単位kb.RES=CODE+DATASHR-共有メモリサイズ、単位kbS-プロセスステータス.D=中断不可のスリープ状態R=運転S=スリープT=Z=ゾンビプロセス%CPU-前回更新から現在までのCPU時間占有率%MEM-プロセスで使用された物理メモリ%TIME+-プロセスで使用されたCPU時間合計、単位1/100秒COMMAND-プロセス名(コマンド名/コマンドライン)