概要
- deep learningでGPUをぶん回している時にどの程度の負荷がかかっているか監視したい。
- Mackerelの公式プラグインでGPUの監視もできる。
設定方法を書き残しておきます。
前提
- OS: Ubuntu18.04
- GPU: Nvidia GTX 1080
Mackerelのセットアップ
まずは、Mackerelのアカウントを作って監視したいマシンにエージェントをインストールします。
この時点で、CPUやメモリ、ストレージなどが監視できるようになりますが、GPUは監視できていません。
mackerel-pluginsのインストール
Mackerelには様々なプラグインが存在します。
公式からリリースされているmackerel-plugin-nvidia-smi
を使うと、GPUが監視できるようになるので、これを使います。
インストール手順はここに書いてあります。
https://mackerel.io/ja/docs/entry/howto/mackerel-agent-plugins
Ubuntuならこうですね。
$ sudo apt install mackerel-agent-plugins
mackerel-plugin-nvidia-smiの有効化
先程インストールされたmackerel-plugins
に含まれるmackerel-plugin-nvidia-smi
を有効化していきます。
プラグインを有効にするためには、設定ファイルを更新して、agentを再起動します。
設定ファイルのpath
設定ファイルは、デフォルトでは/etc/mackerel-agent/mackerel-agent.conf
にあります。
参照: https://mackerel.io/ja/docs/entry/spec/agent
設定値のサンプル
このファイルに、mackerel-plugin-nvidia-smi
を有効にする設定を追記します。どんな内容を追加すべきかはプラグインのREADMEにサンプルが書いてあります。
[plugin.metrics.nvidia-smi]
command = "/path/to/mackerel-plugin-nvidia-smi"
参照: https://github.com/mackerelio/mackerel-agent-plugins/tree/master/mackerel-plugin-nvidia-smi
実際に設定する値
command =
のpathがサンプルになっているので、ここは書き換えましょう。
先程apt
でインストールしたコマンドのpathをwhich
で調べます。
$ which mackerel-plugin-nvidia-smi
/usr/bin/mackerel-plugin-nvidia-smi
結果として、以下の値をconfに追記します。
[plugin.metrics.nvidia-smi]
command = "/usr/bin/mackerel-plugin-nvidia-smi"
agentの再起動
追記したらagentを再起動します。
$ systemctl restart mackerel-agent
GPUの負荷状況を見る
しばらくすると、mackerel.ioのシステムメトリクスの下にカスタムメトリクスという項目が現れて、GPUのファンスピードやメモリ使用量や温度などのステータスが見れるようになります。
見れなかったらmackerel-agentのログを見て異常が起きてないか確認ましょう。
sudo journalctl -u mackerel-agent.service
以上です。