Linux系OSでのシステムの状態を確認する際に使うコマンドをメモがてら記載しておく。
ログインした直後に見ること
サーバの起動時刻を見る。
:$ uptime
サーバのホスト名等を見る。
:$ uname -a
現在ログイン中のユーザを見る。
:$ w
全体の情報を見る
:$ dstat -af
:$ sar -A 1
ロードアベレージを見る
:$ uptime
:$ sar -q 1
:$ top
CPU使用率を見る
topコマンドでCPU使用率を見る
:$ top
※top実行中にshift m : メモリ使用率順にソート ※top実行中にshift p : CPU使用率順にソート ※top実行中にshift t : 実行時間順にソート ※top実行中にshift h : スレッド表示 ※top実行中に 1 : コア数表示
実行されているコマンドの内容をフルパスで出力させる。
:$ top -c (-d1)
バッチモードで実行させる。
:$ top -b
mpstatコマンドでCPU使用率を見る
:$ mpstat -P ALL 1
vmstatコマンドでCPU使用率を見る
:$ vmstat 1
pidstatコマンドでCPU使用率を見る
:$ pidstat 1
:$ pidstat -p [pid]
:$ pidstat -C [process name]
dstatコマンドでCPU使用率を見る
-t
で時刻表示、-a
ですべてのデータを報告。
--top-cpu
でプロセスが私用しているCPU使用率の統計を報告。
:$ dstat -ta --top-cpu
コア単位の使用率を見る場合。
:$ dstat -C 0,1
コア単位+全CPUの使用率を見る場合。
:$ dstat -C 0,1,total
sarでCPU使用率を見る。
:$ sar -P ALL 1
メモリ使用状況を見る
freeコマンドでメモリ使用率を見る
:$ free -m
vmstatコマンドでメモリ使用率を見る
:$ vmstat 1
:$ sar -r 1
:$ sar -R 1
/proc/meminfoの中身を探ってメモリ使用率を見る
:$ grep -E 'Active:|Slab:|VmallocUsed:|PageTables:|KernelStack:' /proc/meminfo | awk '{a+=$2} END{print a;}'
IOの状態を見る
vmstatコマンドでIOの状態を見る
:$ vmstat -d 1
pidstatコマンドでIOの状態を見る
:$ pidstat -d
iostatコマンドでIOの状態を見る
:$ iostat -tx 1
:$ iostat -txz 1
dstatコマンドでIOの状態を見る
※--top-io-adv
, --top-bio-adv
オプションはVersion 7.2.0以降から。
:$ dstat -ta --top-io-adv --top-bio-adv
sarコマンド(sysstat)でIOの状態を見る
IOPS等の状態を全体的に見る。
:$ sar -b 1
デバイス単位でIOPS等の状態を見る。
:$ sar -d 1 :$ sar -d -p 1
Networkの状態を見る
ssコマンドでIOの状態を見る
TCPのLISTENポートを見る。
:$ ss -lnt
:$ sudo ss -anpto
dstatコマンドでネットワークの使用状態を見る
:$ dstat -n -N [nic device]
sarコマンドでネットワークの使用状態を見る
$ sar -n DEV 1
ストレージの情報を見る
:$ df -h
:$ df -i
:$ df -hTi
実行されているプロセスの情報を見る
:$ ps auxfwww
:$ ps -ef
:$ ps auxwww -L
:$ sudo lsof -p [pid]
システムログを見る
:$ sudo less /var/log/message
:$ sudo less /var/log/syslog
エラー系メッセージのみ抽出する場合
:$ sudo grep -iE 'warn|err|crit|fatal|emerg|alert' /var/log/message
:$ sudo grep -iE 'warn|err|crit|fatal|emerg|alert' /var/log/syslog