自分の見返し用にまとめていますので、間違い等あるかもしれません。ご了承ください。
備忘録ですので、随時情報を追記します。
LPIC-201 リソース監視コマンド
1. top(CPU/メモリ/プロセス負荷)
top - 15:00:00 up 5 days, 2 users, load average: 0.15, 0.10, 0.05
Tasks: 123 total, 1 running, 122 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.0 us, 2.0 sy, 0.0 ni, 93.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 16G total, 1.2G free, 2.3G used, 12G buff/cache
KiB Swap: 2G total, 2G free, 0 used. 13G avail Mem
- load average:1分・5分・15分の平均負荷。コア数と比較して過負荷か判断
- %Cpu(s):us=ユーザ、sy=システム、ni=nice値、id=アイドル、wa=IO待ち、hi=HW割込、si=SW割込、st=仮想環境でのスティールタイム
- KiB Mem / KiB Swap:メモリ・スワップ状況。空きが少ない場合注意
- Tasks:プロセス状態(R=実行中、S=スリープ、Z=ゾンビ)
- PID/COMMAND:負荷の高いプロセスを特定
2. vmstat(CPU/メモリ/IO統計)
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 123456 2345 67890 0 0 1 2 10 20 5 3 90 2 0
- r:実行待ちプロセス数。多いとCPU不足
- b:待機中プロセス。多いとIO待ち
- swpd:スワップ使用量
- free/buff/cache:メモリ空き/バッファ/キャッシュ
- si/so:スワップ入出力。0ならスワップ未発生で健全
- bi/bo:ブロックIO読み書き速度
- us/sy/id/wa:CPU使用率。waが高いとI/Oボトルネックの可能性
3. iostat(CPU/ディスク統計)
avg-cpu: %user %nice %system %iowait %steal %idle
5.0 0.0 2.0 0.5 0.0 92.5
Device r/s w/s rkB/s wkB/s r_await w_await %util
sda 1.0 2.0 50 100 0.5 1.0 0.6
- %user/%system/%idle:CPU内訳
- r/s w/s:1秒あたりIOリクエスト数
- rkB/s wkB/s:読み書きデータ量
- r_await/w_await:IO待ち時間
- %util:ディスク使用率。100%に近いとI/O待ちが発生している可能性
4. iotop(リアルタイムIO)
Total DISK READ: 0 B/s | Total DISK WRITE: 4 KB/s
PID PR USER DISK READ DISK WRITE IO> COMMAND
1234 root 0.0 B/s 4 KB/s 0% bash
- プロセスごとのIO負荷を確認
- IO>はI/O待ち時間の割合。CPU使用率とは異なる
5. free(メモリ/スワップ)
total used free shared buff/cache available
Mem: 16G 2.3G 1.2G 0B 12G 13G
Swap: 2G 0B 2G
- used/free:使用/空きメモリ
- buff/cache:バッファ/キャッシュ量
- available:実質利用可能メモリ。freeより実用的
- Swap使用状況も確認
6. df / du(ディスク容量)
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 28G 42% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
$ du -sh /var/log
500M
- df:ファイルシステム全体の使用率
- du:特定ディレクトリの容量確認
7. ps / pstree(プロセス確認)
$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1234 1 0 08:00 pts/0 0:00:01 bash
$ pstree
systemd─┬─sshd─┬─bash
└─cron
- ps:プロセス一覧、CPU/メモリ消費確認
- pstree:プロセスの親子関係を視覚的に把握
8. uptime / w(稼働時間/ログイン)
$ uptime
15:00:00 up 5 days, 2 users, load average: 0.15, 0.10, 0.05
$ w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 :0 08:00 2:00 0.01 0.01 bash
- load average:CPU負荷(1分・5分・15分)
- ログインユーザ状況確認
9. netstat / ss / iptraf / iftop / nload(ネットワーク)
$ netstat -tulpn
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
$ ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 0 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,...))
- LISTENポート確認、接続状態
- ssはnetstatより高速かつ詳細。推奨コマンド
- リアルタイムトラフィック監視:iptraf, iftop