LoginSignup
2
3

More than 3 years have passed since last update.

サーバ監視に役立つコマンドTips

Posted at

入門監視の、 8章 サーバ監視 から抜粋。
https://www.oreilly.co.jp/books/9784873118642/

top: cpu 使用率の取得

cpu使用率の取得に役立つ。

使用率を判断するためには、ユーザ(user, us)、システム(system, sy)、優先度付きプロセス(niced processes, ni)、ハードウェア割り込み(hardware interrupts, hi)、ソフトウェア割り込み(software interrupts, si) を足し合わせた結果。

$ top
top - 15:52:01 up 77 days, 13:55,  2 users,  load average: 0.04, 0.04, 0.01
Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.5%us,  0.8%sy,  0.0%ni, 95.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  15845132k total, 14394780k used,  1450352k free,   153996k buffers
Swap:        0k total,        0k used,        0k free,  8783084k cached

free: - メモリ使用量・空き容量の取得

システムの物理メモリとスワップメモリの使用量、空き容量を表示する。

デフォルトの出力はKB単位。出力単位を -m (MB単位)や -g (GB単位)などで指定できます。 -h を選ぶと、空気を読んで出力してくれる。

$ free -m
             total       used       free     shared    buffers     cached
Mem:         15473      14588        885          0        150       9073
-/+ buffers/cache:       5364      10109
Swap:            0          0          0

buffers と cached について

buffers はディスクの中で最近アクセスされた領域のファイルシステムメタデータを保存している。
cached は最近アクセスされたファイルコンテンツを保存している。

2行目(-/+ buffers/cache:) について

この行はメモリ使用率の測定に便利。

usedbufferscached引いた もの、
freebufferscached を を 足した ものを表す。

システムにメモリを追加すべきかを判断するときにはこの行を見る。

3行目(Swap)について

そもそものスワップ領域についてはこちらを参照。
https://begi.net/read/base/09.html

システムにスワップパーティションやファイルがあるならこの値を追跡する。

スワップ使用量が増加した時のアラートは、アプリケーションがメモリに敏感な場合にメモリ使用量が増加していることを示す重要な指標になる。

iostats: - ディスクパフォーマンスを対話的に見る

iostats コマンドはディスクパフォーマンスを対話的に見ることができる。

$ iostat -x
Linux 4.9.77-31.58.amzn1.x86_64 (見せられないよ)     05/15/2019  _x86_64_    (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.07    0.00    0.14    0.05    0.00   98.74

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
nvme0n1           0.00     2.07    0.01    4.06     1.75  1174.84   289.14     0.07   16.19   1.14   0.46

await はディスクが処理を行うようリクエストを発行するのにかかった平均時間。
%util はディスク使用量を示しており、この値は100%以下に保ちたいところ。

uptime: ロードアベレージを見る

ロードアベレージ(load)は、CPUに処理してもらうのを待っているプロセエスがいくつあるのかの指標。1分の平均、5分の平均、15分の平均の3つの値で表される。

$ uptime
 18:55:55 up 77 days, 16:59,  1 user,  load average: 0.00, 0.02, 0.00

コアあたりのロードが1.0なのは許容範囲。
15分平均のロードが500を超えていても顧客が問題なく利用できるシステムも存在するので、何の影響もなければ、ロードが高いのは問題にはならない。

ただし、ロードアベレージは代理指標(proxy metric)として役立つという例外がある。つまり異常に高いロードアベレージは、他の問題の存在を示すことがある(そうでない場合もある)ということ。

感想

こういった生々しい指標を確認できるコマンドを知っていることは非常に重要だとおもう。

おわり

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3