GPUのVRAMを何が使っているかわかる無料ツール「gputaskman」公開 ローカルLLMのKVキャッシュも推定表示

PCニュース パソコン
当サイトでは広告・アフィリエイトプログラムを利用しています。

この記事でわかること

  • GPU監視ツール「gputaskman」で、タスクマネージャーより詳しくわかること
  • ローカルLLMの重みやKVキャッシュの表示が、どこまで実測でどこから推定なのか
  • 対応するGPU・OSと、Windowsでポータブル版を試すときの注意点
50ITをGoogleの優先ソースに追加すると、AI・PC・スマホ・タブレット・ガジェットの新着記事を見つけやすくなります。

GPUメモリの「中身」に踏み込むGPUモニター

Microsoftに所属する開発者のScott Hanselman氏が、GPUを何がどれだけ使っているかをプロセス単位で表示するツール「gputaskman」をGitHubで公開しました。最初の版が出たのは11月初め。その後も更新が続き、11月7日公開のv0.3.3が11月8日時点の最新版です。MITライセンスのオープンソースソフトとして無料で使えます。Microsoftの製品としてではなく、本人のGitHubアカウントで公開されているツールです。

Windowsのタスクマネージャーでも、「詳細」タブに「専用GPUメモリ」「共有GPUメモリ」の列を追加すれば、プロセスごとのGPUメモリ使用量は確認できます。ただ、そこからわかるのは量まで。そのメモリがAIモデルの重みなのか、会話の文脈を保持するKVキャッシュなのか、どの実行環境やモデルファイルと関係しているのかまでは見えません。gputaskmanは、プロセスごとの使用量に、検出した実行環境やモデルの情報、重み・KVキャッシュなどの推定内訳を結びつけて見せようとするツールです。

動作はターミナル上。Linuxでおなじみの「htop」に近い画面に、GPU全体の状況とプロセスごとの利用状況が並びます。

gputaskmanの画面。GPU全体の使用状況、プロセス一覧、選択したLLMのメモリ内訳が表示されている

gputaskmanの画面。上段にGPU全体の使用状況、中段にプロセス一覧、下段に選択したllama-serverのモデル(Qwen3-0.6B)の重み・KVキャッシュ・計算用バッファーの内訳が並ぶ
出典:Scott Hanselman「gputaskman」(GitHub、MIT License)

プロセスごとのVRAMと、ローカルLLMの「重み」「KVキャッシュ」

プロセス一覧には、GPU本体のメモリ(VRAM)の使用量、GPUから使われているシステムRAMの量、3D・コピー・動画エンコードといったエンジンごとの稼働率が表示されます。CUDA、HIP、Vulkan、Direct3D、ggml、ONNX Runtimeなど、プロセスが読み込んでいる実行環境も検出。GPU全体についても、VRAM使用量、GPU使用率、温度、消費電力などを履歴グラフで追えます。

ローカルAIを動かしている人向けの機能が、モデルインスペクターです。llama.cppやOllamaで動くLLMなら、プロセスが扱っているモデル、量子化の種類、重みのサイズ、KVキャッシュの推定量などを表示します。モデルは、ローカルAPIの応答、メモリにマップされたファイル、起動時の引数といった根拠から検出され、どの根拠によるものかも表示されます。根拠によって確かさは異なり、ファイルがマップされているだけでは、そのモデルがGPU上に載っているとまでは言えません。llama.cppとOllamaは実際の環境で動作を確かめており、LM Studioは試験用データでの確認にとどまるとしています。

VRAMが足りなくなったとき、原因がモデル本体なのか、コンテキスト長を伸ばして増えたKVキャッシュなのかを切り分ける手がかりになります。モデルを読み込む前後の状態をJSONで保存して比べる機能もあります。比べられるのは、プロセスやGPU全体の測定値がどれだけ増えたか。GGUFの情報から計算した推定値や、llama.cppのログに記録された割り当て量は、測定値とは分けて表示されます。

NVIDIAの定番ツール「nvidia-smi」で足りるのでは、と思う人もいるはず。READMEによると、WindowsのGeForce環境では、NVIDIAの管理ライブラリ(NVML)がプロセスごとのメモリ使用量を「N/A」と返すことがあります。gputaskmanはWindows自身のGPUカウンターを使うので、こうした環境でもプロセス単位の使用量を割り当てられるという説明です。

実測値と推定値は分けて読む

表示される数字は、すべてが同じ確かさではありません。READMEは、GPUやプロセスのカウンターは測定値で、プロセスの分類やモデルファイル(GGUF)の情報から計算した内訳は推定値だと明記しています。VRAMの中身を直接読み出しているわけではない、という位置づけです。

たとえばKVキャッシュの量は、モデルの情報とコンテキスト長から計算した見積もり。READMEの検証例では、Qwen3-0.6Bの重みとKVキャッシュの推定値がllama.cppのログと一致しました。一方、スライディングウィンドウ注意という仕組みを使うGemma 3では推定値が上限値になり、実際より大きく出ています。

GPUから使われているシステムRAMの量も、VRAMからあふれた分だけを示す数字ではありません。意図的にシステムRAM側へ確保されたバッファーも含まれるため、この数字だけで「VRAM不足で遅くなっている」とは決められないとしています。各カウンターの意味と限界は、画面で「?」キーを押すと確認できます。

対応環境はOSとGPUで大きく違う

Windowsのほか、Linux・WSL、Apple Silicon搭載のMacでも動きますが、使えるGPUと計測できる項目は環境ごとに異なります。

環境対応GPU主な条件・確認できる範囲
Windows 10/11(64ビット)NVIDIA、AMD最新のWDDMドライバーが必要。x64版とARM64版のポータブルZIPあり
LinuxNVIDIA、AMD(amdgpuドライバー)配布済みのポータブル版はglibc 2.35以降が必要。GPUから使われるシステムRAMの量などは表示されない
WSLNVIDIAWindowsとの連携(interop)が有効なら、LinuxプロセスごとのVRAM使用量をWindows側の数値から推定して割り当てる。連携が有効でも、Windows側のGPUと対応付けられない場合や割り当ての手がかりが足りない場合は表示されないことがある。連携が無効だと、LinuxプロセスごとのVRAM使用量は表示されない
macOS(Apple Silicon)Apple製GPUポータブル版はなく、ソースコードから実行するか、Python 3.11以降でPyPIから導入。CPUとメモリを共有するため専用VRAMの内訳はないが、プロセスごとのGPU使用率と、自分のプロセスがグラフィックス用に使うメモリ量は確認できる

IntelのGPUは、現時点で対応GPUに含まれていません。Linuxでの対応は今後の予定に挙がっています。

Windowsで試すならポータブル版、入手元は公式Releasesに限る

Windowsでは、作者のGitHubのReleasesページで配布されているポータブル版ZIPが手軽です。PythonやCUDA Toolkitのインストールは不要。ZIPを丸ごと展開し、「gputaskman.exe」と同じ場所にある「_internal」フォルダーを残したまま、展開したフォルダーでWindows TerminalかPowerShellを開いて「.\gputaskman.exe」を実行します。1回だけ状態を出力するなら「.\gputaskman.exe –once」です。表を全部見るには、横幅140文字程度の広いターミナルが向いているとのこと。

気をつけたいのは、配布ファイルが現時点で未署名なことです。コード署名やインストーラーはまだ用意されていないため、ファイルの発行元を署名で確かめることはできません。入手はこのReleasesページからにして、別サイトで再配布されたファイルは使わないでください。各ZIPには、SHA-256のハッシュ値を記したファイル(.zip.sha256)も同じページで公開されています。ダウンロードしたZIPのハッシュ値がこれと一致すれば、公式ページに置かれたファイルと同じものだと確かめられます。ただし、これは署名による発行元の確認の代わりにはなりません。Python 3.11以降を使っている人は、uvやpipxでPyPIからインストールする方法もあります。

もう1つ、画面の共有にも注意が必要です。インスペクターやJSON出力には、ファイルのパス、起動時のオプション、モデル名、ローカルのポート番号が含まれることがあります。テレメトリーは送信しない設計ですが、スクリーンショットをSNSなどに投稿するなら、写っている情報を先に確認してください。

まだ初期段階、気になる人が試すツール

gputaskmanは、作者自身がREADMEで「初期の実験的なソフト」と位置づけています。複数GPU構成はテスト上の対応で、実機では未検証。対応ランタイムや計測項目も、今後の予定として多くが挙がっている段階です。

それでも、ローカルLLMを動かしていてVRAMがどこへ消えているのか気になっている人には、タスクマネージャーより一歩踏み込んだ材料をくれます。数字を見るときは、測定値か推定値か、モデルがどの根拠で検出されたのかまで確かめながら読むツールです。

50ITをGoogleの優先ソースに追加すると、AI・PC・スマホ・タブレット・ガジェットの新着記事を見つけやすくなります。