よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

Ubuntuでシステムリソース情報を取得するには?

Linuxでシステムリソース情報を取得し、システムのCPUやメモリ、ディスクI/Oなどの負荷状況を表示するために利用されるものに sysstat があります。

今回はsysstatをインストールし、リソース情報を定期的に取得し、いつでも確認できるようにしたいと思います。

それではさっそくパッケージをインストールしましょう。

[linux]$ sudo apt-get install sysstat

続いて定期的にシステムリソース情報を取得するようにします。
/etc/default/sysstatファイルを編集して
ENABLED="false" を ENABLED="true" に変更します。

[linux]$ sudo /etc/init.d/sysstat start

ちなみに、この変更をしていない場合は、以下のようなエラーが発生してしまいます。

* sadc not enabled in /etc/default/sysstat, not starting.

デフォルトの設定だと、10分毎にシステムリソース情報を取得します。
取得間隔を変更するためには、/etc/cron.d/sysstat を編集します。

[linux]$ sudo vi /etc/cron.d/sysstat
・・・(略)
5-55/10 * * * * root [ -x /usr/lib/sysstat/sa1 ] && { [ -r "$DEFAULT" ] && . "$DEFAULT" ; [ "$ENABLED" = "true" ] && exec /usr/lib/sysstat/sa1 $SA1_OPTIO NS 1 1 ; }
・・・(略)

※赤色部分が分単位の情報取得間隔です。

Ubuntuの場合は、取得したリソース情報は、/var/log/sysstat/ 以下に保存されます。
ディストリビューションにより保存場所は /var/log/sa/ 以下などに変わります。

バイナリ形式で保存されるため、確認の際は sar コマンドを利用します。
ちなみに sar コマンドの主なオプションは以下の通りです。

  • -A : すべての情報
  • -n : ネットワーク統計値
  • -u : CPU使用状況
  • -b : ディスクI/Oの使用状況
  • -r : メモリおよびスワップの使用状況
  • -W : スワップ統計値

参考までに sar コマンドでメモリの使用状況を表示した時の結果は以下のようになります。

[linux]$ sar -r
Linux 2.6.24-19-generic (laptop) 2008年10月23日
00時47分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
00時48分00秒 476928 1544668 76.41 403352 718860 976552 0 0.00 0
00時49分01秒 130120 1891476 93.56 499932 882848 976552 0 0.00 0
・・・(略)
平均値: 157539 1864057 92.21 490614 869750 976552 0 0.00 0

最後に平均値が出力されるのはうれしいですね。

最後に、今回sysstatに関するエントリを書いた理由ですが、昨日のエントリ『RAMディスクにFirefoxのキャッシュを保存し快適なFireFoxライフを送ろう!』でRAMディスクに割り当てるメモリ容量を決める際に、最近のメモリ使用状況を確認したかったためです。

導入さえしておけばいつでもシステムリソース情報を確認できますので、ぜひお試しください。