Linux初心者~パフォーマンス調査など~

システムLinux, ps

はじめに

サーバ運用を行っていると「おや?何か遅い??」って時があると思います。
そういった時に使うコマンドをまとめてみました。

CPUやメモリ

psコマンド

  • オプション
    オプション 内容
    a 他の端末(自分以外の作業者)のプロセスも表示
    x デーモンのプロセスを表示
    r 実行中のプロセスを表示
    c 実行ファイル名を表示
    e コマンド名と環境変数を表示
    O 表示順を指定
    -u 実行ユーザを指定
    -g 実行グループを指定
    -p 実行プロセス番号(PID)を指定
  • 表示項目を変更

    オプション 内容
    u ユーザー名と開始時刻を表示する
    l 標準のPID,TTY,TIME,CMDに加え,F,S,UID,PPID,C,PRI,NI,ADDR,SZ,VSZ,RSS,WCHAN,STATも表示する
    f ツリー形式で表示する
  • 表示項目

    項目名 内容
    F プロセスの状態を16進数で表示(00:プロセス終了,01:システムプロセス,02:親プロセスからトレースされている,04:親プロセスからトレースされて停止している,08:プロセスがシグナルで起動できない,10:プロセスがメモリ上にありイベント終了までロックされている,20:スワップできない)
    UID ユーザUD
    PID プロセスID
    PPID 親プロセスID
    PRI 優先度
    NI ナイス値
    VSZ 仮想メモリの全サイズ
    RSS 使用中の物理メモリー量
    WCHAN プロセスが休眠状態の時のカーネル関数名
    STAT/S プロセスのステータス(R:実行可能,S:停止,D:ディスクI/O待ち,T:停止orトレース中,Z:ゾンビ,W:スワップアウト,N:ナイス値が正)
    TTY 制御端末の種類および番号
    TIME プロセス開始時刻
    COMMAND/CMD プロセスのコマンド名
  • 現在動作中のプロセスを表示

$ ps
  PID TTY          TIME CMD
15738 pts/0    00:00:00 bash
15761 pts/0    00:00:00 ps
  • すべてのプロセスを詳細表示
$ ps alx
  F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND
100     0     1     0   0   0  1096  468 do_sel S    ?          0:04 init [3]
                                  :
140     0   563     1   0   0  2384 1224 do_sel S    ?          0:00 httpd
                                  :
                                  :
100   500   683   681   9   0  1744  992 wait4  S    pts/0      0:00 -bash
000   500   780   683  13   0  2484  832 -      R    pts/0      0:00 ps axl

topコマンド

sarコマンド

メモリ

free

ストレージ

ネットワーク

参考

システムLinux, ps

Posted by UT