えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

NVIDIA GPUをターミナルでモニタリングする(Ubuntu18)

機械学習などを実行してGPUを酷使することは多々あると思いますが、GPU使用率や温度を確認したいと思うときがあると思います。Windowsなどはタスクマネージャーから見ることができますね。

UbuntuではNVIDIAドライバを入れていれば、NVIDIA-SMIなどを使ってターミナルから簡単に確認することができると思います。ただ、一回入力しただけでは1度きりの出力になってしまうため1秒に数回くらいは更新するようにしたいと思いました。Ubuntuのコマンド(bash)を利用して、1秒間に10回更新するようにコマンドを入力したので自分用に残しておきます。

$ while true;do nvidia-smi;sleep 0.1;done

フレームレート(fps)は10だとすれば、1/10=0.1で、sleepの隣に空白を入れて0.1と入力、5fpsなら0.2と入力すればいいです。数字は小さすぎないほうがいいと思います。0.01とかはあまり効果がない上に余計な負荷をかけるのでやめましょう。

f:id:Ray_ar:20200917005602p:plain
出力例

ドライバや、GPU温度や消費電力、使用メモリ(使用可GPUメモリ)、使用率、使用アプリケーションの詳細など様々な情報を見ることができます。温度は「C」で表されていることに注意。

2020/10/21追記

nvidia-smiで標準実装されています。リファレンス読んどけというだけのお話ですが…

(例)

$ nvidia-smi -lms 100