Local / Edge実践ガイド
OllamaでGPUが使われない・CPU実行になるときの原因と対処法

目次
Ollamaの生成が遅い、WindowsのタスクマネージャーでGPU使用率が低い、といった症状だけではCPU実行とは判断できない。最初にOllama自身が示すモデル配置を確認する必要がある。
診断は、ollama psとログ → OS・GPUの対応 → ドライバーとバックエンド → メモリとモデルの順で進めると分かりやすい。
1. ollama psで現在の配置を確認する
モデルを起動した状態で、別のPowerShellやターミナルから次を実行する。
ollama ps
主に見るのはPROCESSORとCONTEXTだ。
PROCESSORでは、モデルがGPUへ全量配置されているのか、CPUだけなのか、GPUとCPUへ分割されているのかを確認できる。CONTEXTでは現在割り当てられているコンテキスト長を確認できる。
GPU使用率が一瞬低いことより、まずこの配置表示を基準にした方がよい。待機中、入力処理中、生成中ではGPU負荷の出方が変わるためだ。
2. ログでGPU検出と初期化エラーを見る
ollama psでCPU配置になっている理由が分からない場合は、ログを確認する。
Windows版では公式ドキュメントに次のログ場所が案内されている。
%LOCALAPPDATA%\Ollama\server.log%LOCALAPPDATA%\Ollama\app.log
見るべきなのは、GPUを検出しているか、利用しようとしたバックエンドの初期化に失敗していないか、メモリ不足などのエラーが出ていないかだ。
「遅いからドライバーを入れ直す」のではなく、ログに何が出ているかを確認してから修正対象を決める方がよい。
LinuxやmacOSではログの取得方法が異なるため、Windowsのパスをそのまま使わず、利用しているOSの公式トラブルシューティング手順を確認する。
3. OSとGPUの対応表を照合する
OllamaのGPU対応は、GPUメーカーだけでなくOSと実行経路によって条件が分かれる。
NVIDIAではCUDA経路に対応GPUとドライバー条件がある。対応GPU名が一覧にあっても、任意の古いドライバーやOllamaバージョンで同じように動くという意味ではない。
AMDは特にOSごとの差を確認する必要がある。OllamaのLinux ROCm対応一覧とWindows ROCm対応一覧は同じではない。さらにWindows/LinuxではVulkan経路も別に存在する。
ROCmとVulkanは別の実行経路なので、「ROCmで認識しないからVulkanも使えない」「Vulkanで動いたからROCm対応している」といった読み替えはできない。
RX 9070 XTのようにAMD側のWindows ROCm資料へ一部コンポーネント対応が載るGPUでも、それだけからWindows版OllamaのROCm経路が対応すると断定できない。Ollama自身のOS別GPU対応表を合わせて見る必要がある。
AMD GPUを選ぶ段階から確認したい場合は、RX 9070 XTはローカルLLM用に買い?やNVIDIAとAMD、ローカルLLM用GPUはどっち?で整理している。
4. ドライバーとバックエンドを一項目ずつ確認する
GPUが対応表に含まれているのにCPU配置になる場合は、次を確認する。
- Ollamaのバージョン
- GPUドライバーのバージョン
- 実際に利用されているGPU
- CUDA・ROCm・Metal・Vulkanなど想定している実行経路
- ログに出ているGPU検出・初期化メッセージ
複数GPUがあるPCでは、確認しているGPUとOllamaが選んでいるGPUが一致しているかも見る。
設定やドライバーを変更したらOllamaを再起動し、同じモデルで再びollama psとログを確認する。複数の環境変数やドライバー、モデルを同時に変えると原因を追いにくくなる。
5. VRAM不足でGPU/CPU分割になっていないか確認する
GPUバックエンドが正常でも、モデルをGPUへ全量配置できるとは限らない。
モデルの重みだけでなくKVキャッシュなどにもメモリを使うため、コンテキストを大きくするとVRAMの余裕は減る。GGUFのファイル容量と必要VRAMも同じ数字ではない。
PROCESSORがGPU/CPU分割になっている場合は、次の順で確認するとよい。
- コンテキストを実際に必要な長さまで下げる
- より小さい量子化が用途に合うか確認する
- モデルサイズ自体を見直す
- それでも必要ならより大きなVRAMを検討する
partial offloadの考え方はGPUオフロード・CPUオフロードとは?で、メモリの種類はLLMのファイルサイズ・VRAM・RAM・実行時メモリは何が違う?で確認できる。
GPU交換は対応とメモリを切り分けてから
CPU配置の原因が未対応GPUやバックエンド初期化なら、VRAMの大きな別GPUへ交換する前にソフトウェア側の条件を解決する必要がある。
一方、対応GPUとして正常に認識されていても、必要なモデルとコンテキストがVRAMへ収まらないなら容量不足が購入判断の材料になる。その段階ではローカルAI向けGPUは16GB・24GB・32GBのどれを選ぶ?が参考になる。
OllamaでGPUが使われていないように見える場合は、速度の印象よりollama psとログを先に見る。そこからOS・GPU対応、実行バックエンド、メモリの順に確認すれば、CPU配置になっている理由を分けて考えやすくなる。
まとめ
- 生成が遅い、GPU使用率が低いという症状だけではCPU実行とは判断できない
- `ollama ps`のPROCESSORとCONTEXT、Ollamaのログを最初に確認する
- GPU対応はNVIDIA・AMD・AppleとOS、ROCm・Metal・Vulkanなどの実行経路ごとに条件が異なる
- 対応経路が正しくてもVRAM不足でGPU/CPU分割になる場合があり、コンテキストやモデルサイズを別に確認する
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
Ollama
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。