sysstat
お兄ちゃん!
リソース状況を見るには
コマンドを打たないと
いけないのかな?
真夜中の状況や
1日の変動などを
見るには不便だよ!
リソース監視ツールと
いうものがあるよ!
今回は古くから使われている
リソース監視ツール
sysstat
を使おう
まずは
sysstat
パッケージを
インストールしよう
sudo apt install -y sysstat
パッケージ管理システムのおかげですごい楽だよ!
設定ファイルは
/etc
配下にsysstat
という名前で置かれているよディストリビューションによってパスが異なるので見つからなかったら find
を使おう!sudo find /etc -name sysstat
うん!
/etc/default/sysstat
このファイルが設定ファイルなんだね!
一部のディストリビューションでは
ENABLED
という項目が false
になっているんだこの場合 sysstat
を動作させてあげるには値を true
に変更してあげる必要があるよお兄ちゃんのいうとおりだったよ
ENABLED
という項目があったよENABLED="false"
これをこう書き換えればいいんだよね?
ENABLED="true"
うんそれでいいよ!
それでは
sysstat
を動かし自動起動を有効にしようsudo systemctl enable --now sysstat
正常に動作しているかどうかは以下で確認できるよ
systemctl status sysstat
正しく動作しているはずなんだけど…それらしいプロセスが見当たらないよ?
sysstat
は cron
ベースの仕組みで動いているんだなので常に sysstat
のプロセスが動いていないんだよsysstat
では以下のプログラムが cron
で動いているよプログラム | 動作タイミング | 役割 |
---|---|---|
sa1 | 10分おき | リソース状況収集 |
sa2 | 1日の最後 | リソース統計出力 |
sar
はsysstat
が収集した情報を表示するよsar [オプション]... [日付 [表示間隔]]
オプション | 説明 |
---|---|
-u | CPU 状況を表示(デフォルト) |
-r | メモリ状況を表示 |
-b | ストレージ I/O 状況を表示 |
-n DEV | ネットワーク状況を表示 |
--human | 人間に読みやすい形式で表示 |
日付は 「1日前」のリソース状況を表示するよ 指定が無ければ本日を表示するんだ
-1
を指定するとここではオプションなしで実行してみよう!
sar
うん!
Linux 6.6.51+rpt-rpi-2712 (carter) 13/01/25 _aarch64_ (4 CPU)
00:00:01 CPU %user %nice %system %iowait %steal %idle
00:10:01 all 0.01 59.55 0.02 0.01 0.00 40.42
00:20:04 all 0.01 59.90 0.01 0.10 0.00 39.98
00:30:00 all 0.00 60.11 0.01 0.00 0.00 39.87
00:40:00 all 0.01 59.94 0.01 0.00 0.00 40.04
...
おお!本日10分おきのCPU リソース状況が表示されたよ!
デフォルトは CPU に関する情報だけどオプションを指定すると他のリソース状況も確認できるんだ
今回はリソース監視ツール
sysstat
を学んだよ!定期的にシステム負荷情報を収集して後から確認ができるんだ!今回は基本的な使い方の紹介だけだよ
sar
をスクリプトに組み込んだりデータをグラフ化するツールと組み合わせることもできるよリソース不足をいち早く知れるようリソース監視体制を整えておくのがおすすめだよ