ローカルLLMでGPUが使われないときは、まず ollama ps の PROCESSOR の欄で、モデルがGPUに載っていないのか、一部だけ載っているのかを確かめます。
100% CPU なら、GPUが対応外か、ドライバーが古いか、環境変数やDockerの設定でGPUが見えていないことを疑います。
CPUとGPUに分かれて載っているなら、GPUは認識されていて、VRAMに収まりきっていない状態です。
この記事は、OllamaやLM Studioでモデルは動くのに、生成が遅くGPUが働いていないように見える方に向けたものです。
内容は、2026年10月18日に読んだOllamaとLM Studioの公式ドキュメントの記載をもとにしています。
実機での再現は含まないため、対応するGPUやドライバーの条件は、更新されることがある公式の一覧で確かめてください。
まずGPUに載っているかを確かめる
OllamaのFAQでは、モデルがGPUに読み込まれたかは ollama ps で確かめるよう案内されています(Ollama公式:FAQ)。
ollama psモデルを一度動かした直後に実行し、PROCESSOR の欄を見ます。
| PROCESSORの表示 | 状態 | この記事で見る場所 |
|---|---|---|
| 100% GPU | すべてGPUに載っている | GPUは使われている。遅いならモデルやコンテキストの大きさを見る |
| 100% CPU | すべてシステムメモリに載っている | GPUが見えていない原因を、次の節から順に確かめる |
| 48%/52% CPU/GPU のような表示 | GPUとシステムメモリに分かれて載っている | GPUは認識されている。VRAMに収まる量まで減らす |
分かれて載っている場合の減らし方は、ローカルLLMでメモリが足りないときの切り分けで説明しています。
この記事では、100% CPU のまま、GPUがまったく使われていない場合を中心に扱います。
GPUが対応しているかを確かめる
Ollamaのハードウェア対応のページには、GPUの種類ごとの条件が書かれています(Ollama公式:Hardware support)。
NVIDIA
NVIDIAのGPUは、Compute Capability 5.0以上で、ドライバーのバージョン550以上が条件です。
Compute Capability 5.0〜6.2のGPUは、ドライバー570以上が必要と書かれています。
| Compute Capability | 主なGPU(公式の表から抜粋) |
|---|---|
| 12.0 | GeForce RTX 50シリーズ |
| 8.9 | GeForce RTX 40シリーズ |
| 8.6 | GeForce RTX 30シリーズ |
| 7.5 | GeForce RTX 20シリーズ、GTX 1650 Ti |
| 6.1 | GeForce GTX 10シリーズ(ドライバー570以上が必要) |
| 5.2 | GeForce GTX 900シリーズ(ドライバー570以上が必要) |
| 5.0 | GeForce GTX 750 Ti・750(ドライバー570以上が必要) |
表に無いGPUは、公式ページから案内されているNVIDIAのCompute Capabilityの一覧で確かめます。
AMD
AMDのGPUは、ROCmというライブラリを通して使われます。
Windowsでは、ROCm v7(HIP 7)に対応したドライバーが必要で、対応表に載っているのは Radeon RX 7900 XTX・7900 XT・7900 GRE・7800 XT・7700 XT・7600 XT・7600 と、Radeon PRO W7000番台です。
Linuxでは、Radeon RX 9000・7000・6000番台の一部、Ryzen AIの一部などが対応表に載っており、ROCm v7のドライバーが必要です。
ROCmの対応表に無いGPUでも、同じページでは、WindowsとLinuxでVulkanによる対応が追加で提供されていると書かれています。
Vulkan(Intel・その他のGPU)
Vulkanは、そのバックエンドが入っていれば既定で有効になり、Windowsでは多くのGPUメーカーのドライバーにVulkanの対応が含まれていて、追加の設定は要らないと説明されています。
Linuxでは、多くのディストリビューションで追加の部品を入れる必要があります。
Mac
Appleのチップを積んだMacでは、Metalを通してGPUが使われます。
ただし、FAQでは、macOSのDocker DesktopではGPUの受け渡しができないため、GPUによる高速化は使えないと書かれています。
ドライバーとログを確かめる
Ollamaのトラブル対応のページでは、Ollamaは起動時にGPUを探し、使えるVRAMを調べると説明されています(Ollama公式:Troubleshooting)。
この検出がうまくいかないことがあり、一般には最新のドライバーを使うのが最も良い結果になると書かれています。
ログの場所
GPUが見つからなかった理由は、サーバーのログに残ります。
| 環境 | ログの見方 |
|---|---|
| Windows | %LOCALAPPDATA%\Ollama の server.log(古いものは server-番号.log) |
| Mac | ~/.ollama/logs/server.log |
| Linux(systemd) | journalctl -u ollama で表示 |
| Docker | docker logs コンテナ名 で表示 |
| ollama serve を手で起動 | 起動したターミナルに表示 |
Windowsでは、Win+Rで開いた画面に次のように入力すると、ログのフォルダーを開けます。
explorer %LOCALAPPDATA%\Ollama詳しいログを出す
同じページでは、Windowsで詳しいログを出す手順として、タスクトレイのメニューからOllamaを終了し、PowerShellで次のように起動し直す方法が書かれています。
$env:OLLAMA_DEBUG="1"
& "ollama app.exe"AMDの検出については、OLLAMA_DEBUG=1 でGPUを探すときの情報が多く出ると説明されています。
Linuxで見られる症状
- NVIDIAで、スリープから復帰した後にGPUが見つからずCPUで動くことがあり、nvidia_uvm ドライバーを読み込み直すと回避できる
- NVIDIAの初期化に失敗すると、ログに 3・46・100・999 などのエラーコードが出る
- AMDで、ドライバーがROCm 6以前のままだと、GPUの検出が時間切れになってCPUに切り替わる
- AMDで、/dev/kfd にアクセスするために video や render のグループへの所属が必要になる
どれもOllamaのトラブル対応のページとハードウェア対応のページに書かれている症状です。
設定でGPUを外していないかを確かめる
Ollamaには、使うGPUを選ぶ環境変数があり、ここに無効な値を入れるとCPUだけで動きます。
| 環境変数 | 働き(公式の説明) |
|---|---|
| CUDA_VISIBLE_DEVICES | NVIDIAのGPUのうち使うものを選ぶ。-1 のような無効なIDにするとCPUを使う |
| ROCR_VISIBLE_DEVICES | AMDのGPUのうち使うものを選ぶ。-1 のような無効なIDにするとCPUを使う |
| GGML_VK_VISIBLE_DEVICES | VulkanのGPUを選ぶ。-1 にするとVulkanのGPUをすべて無効にする |
| OLLAMA_VULKAN | 0 にするとVulkanのGPUをすべて無効にする |
| OLLAMA_LLM_LIBRARY | 自動の選択をやめて特定のライブラリを使う。cpu_avx2 などを指定するとCPUで動く |
以前に試した設定がユーザーの環境変数に残っていないかを確かめます。
PowerShellでは、次のコマンドで今のユーザーの環境変数を表示できます。
[Environment]::GetEnvironmentVariables('User')このコマンドがユーザーの環境変数の一覧を返すことは、2026年10月18日にWindows 11のPowerShell 5.1で確かめました。
OllamaのFAQでは、Windowsでは環境変数をユーザーとシステムの設定から引き継ぐため、変えたらOllamaをタスクバーから終了し、スタートメニューから起動し直すよう案内されています。
内蔵GPUと単体のGPUがあるパソコン
ハードウェア対応のページでは、内蔵GPUと単体のGPUが混在していて、Vulkanの内蔵GPUが不安定な場合は、GGML_VK_VISIBLE_DEVICES に単体のGPUの番号を指定するよう書かれています。
例として、Vulkan1 が単体のGPUなら GGML_VK_VISIBLE_DEVICES=1 とする書き方が挙げられています。
Dockerで動かしている場合
FAQでは、OllamaのDockerコンテナは、LinuxかWindows(WSL2)でGPUによる高速化を使え、そのためにNVIDIA Container Toolkitが必要と書かれています。
トラブル対応のページでは、コンテナからGPUが見えているかを、次のコマンドで確かめるよう案内されています。
docker run --gpus all ubuntu nvidia-smiこれが動かない場合は、OllamaからもNVIDIAのGPUは見えません。
最初はGPUで動いていたのに、しばらくしてCPUに切り替わる場合は、Dockerのcgroupの管理の設定を変える回避策が同じページに載っています。
LM StudioでGPUが使われない場合
LM Studioでは、モデルを読み込むときのGPUオフロードの割合で、どれだけをGPUで計算するかが決まります。
LM Studioのコマンドラインツール lms のリファレンスでは、--gpu に0〜1の値、off、max を指定でき、指定しなければLM Studioが自動で決めると書かれています(LM Studio公式:lms load)。
lms load モデルのキー --gpu max
lms load --estimate-only モデルのキー --gpu max--estimate-only を付けると、読み込まずに必要なGPUメモリと全体のメモリの見積もりを表示します。
見積もりがVRAMを超えるなら、GPUに全部は載らないため、小さいモデルやコンテキスト長の短い設定を選びます。
LM Studioの公式ドキュメントでは、推論のエンジン(LM Runtimes)の確認と入れ替えの画面を、Windowsでは Ctrl+Shift+R で開けると書かれています。
システム要件のページでは、Windowsでは4GB以上の専用VRAMが推奨とされています(LM Studio公式:System Requirements)。
GPUオフロードの設定の考え方は、LM Studioの使い方でも説明しています。
確かめる順番
- ollama ps で、100% CPU なのか、CPUとGPUに分かれているのかを見る
- 分かれているなら、VRAMに収まる量まで減らす
- 100% CPU なら、GPUが公式の対応表にあるかを確かめる
- ドライバーを最新にし、NVIDIAなら550以上(古いGPUは570以上)になっているかを見る
- CUDA_VISIBLE_DEVICES などの環境変数が残っていないかを見る
- Dockerなら、コンテナからGPUが見えているかを確かめる
- server.log で、GPUの検出に失敗した理由を探す
GPUが対応外の場合は、必要なメモリの目安をローカルLLMに必要なスペックで確かめ、モデルの大きさを見直すか、対応するGPUを検討します。
