CPUやメモリの使用率について、ターミナル上でグラフィカルにモニタリングできるツールというとhtopやnMonなどがあるが、CPUをグラフィカルにモニタリングできる『CoreFreq』というものも見かけたので、試しに触ってみることにする。 検証はUbuntu 16.04 LTSで行っている。 ちなみに、このツールはどうも仮想マシンでは利用できないようなので、物理マシンで動作させないといけない点に注意。
1. インストール
まず、事前にNMI Watchingを無効化しておく必要があるので、以下のコマンドを実行し再起動する。
sudo sed -i '/^GRUB_CMDLINE_LINUX/s/"$/ nmi_watchdog=0"/' /etc/default/grub
sudo update-grub && sudo reboot
再起動完了後、CoreFreqのインストールを実施する。 CoreFreqはソースで提供されているので、ビルドする必要がある。 そのため、まず以下のコマンドで必要となるコンパイラ等をインストールする。
sudo apt-get install git dkms build-essential libc6-dev libpthread-stubs0-dev
次に、以下のコマンドでソースのダウンロード、ビルド等を行う。
git clone https://github.com/cyring/CoreFreq.git
cd CoreFreq/
make && sudo insmod ./corefreqk.ko
lsmod | grep corefreq
ビルド後、出来上がったバイナリを適当にPATHの通ってるディレクトリに配置する。
sudo cp ./corefreqd /usr/bin/
sudo cp ./corefreq-cli /usr/bin/
2. モニタリングを行う
バイナリの配置が終わったら、実際にモニタリングをしてみよう。 まず、以下のコマンドでサービスの起動を行う。 今回はお試しなのでnohupでの起動。
sudo nohup corefreqd &
デーモンとして起動させたら、クライアントプログラムを動かしてみる。
corefreq-cli
仮想マシンで動作させられないのがちょっと残念だけど、結構見やすいのでいいかも。