CPU使用率を自動的に取得する

LinuxでCPU使用率は,sarやvmstatコマンドで取得可能です.
長さ不明の処理のCPU使用率を記録する方法を考えます.

CPU使用率の取得方法

sarコマンド

sar 1 5

と実行すれば,1秒ごとに5回 使用率が表示されます.

sar 1

と実行すれば,1秒ごとに使用率が表示されます.
Ctrl+Cなどで強制終了するまで表示し続けます.

vmstatコマンド

ほとんど同じです.

vmstat 1 5

↑1秒ごとに5回 使用率が表示されます.

vmstat 1

↑Ctrl+Cなどで強制終了するで,1秒ごとに使用率が表示されます.

長さ不明の処理の間のCPU使用率の取得方法

いつ終わるか分からない処理のCPU使用率を非対話的に記録するには,以下の様にすれば良いです.

sar 1 > a.txt &
sleep 3
kill `ps ux | grep sar | grep -v grep | awk '{print $2}'`


sar 1 > b.txt &
sleep 5
kill `ps ux | grep sar | grep -v grep | awk '{print $2}'`

↑仮に sleep 3 と sleep 5 が長さ不明とします.
これら処理が始まる前に 記録を開始し,処理が終わった後に 記録を終了します.

当然ながら,sar という名前のコマンドが kill されてしまうので,ご注意ください.

sarのインストール


$ sudo apt-get -y install sysstat

で,可能です.少し分かりづらい.

この記事が気に入ったらサポートをしてみませんか?