Lから始まるLinux

6章2話
アーキテクチャ
6章3話 CPU
もくじ
6章4話
メモリ
CPU
若木 みどり
お兄ちゃん! 代表的なリソースに 「CPU」「メモリ」「ストレージ」 があるんだよね!
若木 しげる
今回は「CPU」 リソース状況を 確認する方法を覚えよう!
top コマンド
若木 しげる
top プロセスとそのリソース消費を 一覧表示するよ
top [オプション]...
若木 しげる
では top実行してみよう!
top
若木 みどり
うん!
top - 18:13:45 up 15 days,  5:22,  1 user,  load average: 1.87, 3.21, 3.13
Tasks: 150 total,   1 running, 146 sleeping,   0 stopped,   3 zombie
%Cpu(s):  0.0 us, 33.3 sy,  0.0 ni, 66.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   8052.3 total,   5871.7 free,    896.5 used,   1388.0 buff/cache
MiB Swap:    200.0 total,    200.0 free,      0.0 used.   7155.8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0  170432  12800   8192 S   0.0   0.2   0:53.74 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.53 kthreadd
...
若木 しげる
色々なキー入力を受け付けるけど最初はq で終了」だけ覚えておこう!
若木 みどり(驚き)
おお!プロセスと CPU やメモリの使用状況が一覧表示されてる!Windows のみたいだね!
若木 しげる
個々のプロセスも重要だけど全体的な状況把握も大事だよプロセス一覧の上にある「ロードアベレージ(load average)」を見てみよう
load average: 1.87, 3.21, 3.13
若木 みどり
3つの数字が並んでいるね?
若木 しげる
ロードアベレージは「実行待ちになっているプロセスの平均数」だよ「直近1分」「直近5分」「直近15分」3つの値を表しているんだ
若木 みどり
この値で CPU が忙しいかどうかがわかるんだねどうやって判断するのかな?
若木 しげる
値が CPU のコア数に近ければ負荷が高い状態コア数を超えているのなら処理が滞っている状態と判断できるよ
若木 みどり
CPU のコア数はnproc でわかるね!
nproc
若木 みどり
実行結果はこうだったよ!
4
若木 みどり
4 ということは…4 に近ければ近いほどは忙しく4 を超えたらキャパオーバー」なんだね
若木 しげる
このシステムではそういうことになるね
若木 しげる
システムによってはtop の改良版htopatop使える場合があるよそれぞれ表示が読みやすくなるよう工夫されているんだ
uptime コマンド
若木 しげる
uptimeシステム起動時間を表示するけどロードアベレージも表示してくれるよ
uptime [オプション]...
オプション役割
-p, --pretty起動時間のみを見やすい形式で表示
若木 しげる
それでは実行してみよう!
uptime
若木 みどり
うん!
 18:08:07 up 15 days,  5:17,  1 user,  load average: 2.72, 2.49, 2.82
若木 みどり
前回実行したときは起動時間しか目に入らなかったけどロードアベレージも表示してくれていたんだね!
若木 みどり
ロードアベレージだけ確認したかったりスクリプトなどで加工するつもりならuptime は出力が少なくて扱いやすいね!
まとめ
若木 みどり
今回は CPU リソース状況の確認方法を学んだよ!top, uptime で確認できるんだ!ロードアベレージは CPU 負荷の指標だよ!
若木 しげる
CPU リソースが不足するとアプリケーションが遅くなったりシステムが不安定になったりするんだこのようになったらCPU リソースを消費しているプロセスをkill で止めたりrenice で優先度を下げよう!