【PR】この記事にはA8.netのアフィリエイト広告を含みます。
先に結論:Ollamaの100% CPU表示だけでは原因を断定できません。XServer VPSで実査したところ、NVIDIA device 0件、Ollama logはlibrary=cpu、ollama psは100% CPU、APIのVRAM使用量は0 byteで、すべてがCPU推論を示しました。RTX 3070実機の修復ではないため、判定は一部解決です。
RTX 3070があるのにOllamaがCPU 100%になる悩みとは?
Redditの「Ollama Not Using GPU (RTX 3070) — Only CPU」では、Ryzen 5 5600X、RTX 3070 8GB、NVIDIA driver 581.57の環境で、DeepSeek R1やQwen2.5-Coderを動かしてもollama psが100% CPUになると報告されています。これは投稿者の環境であり、今回のVPSにはRTX 3070はありません。
RTX 3070はOllamaの対応GPU?
はい。Ollama公式のHardware supportでは、RTX 3070はcompute capability 8.6の対応一覧に含まれています。公式ページはNVIDIA GPUについてcompute capability 5.0以上とdriver 531以降を案内しています。ただし、対応製品でもOS、driver、container設定からdeviceが見えなければCPUへfallbackします。
XServer VPSで何を実験した?
Ubuntu 26.04、4 vCPU、4GB RAMのXServer VPSで、Ollama 0.33.2をCPU 3、RAM 1,500MiBに制限した一時Docker containerとして起動しました。Qwen3 0.6Bへ約80英単語の生成を20回送り、GPU列挙、backend、processor、VRAM、CPU、RAM、OOM、公開API生存を同時記録しました。
| 確認経路 | 実測 | 意味 |
|---|---|---|
| nvidia-smi | commandなし | NVIDIA管理toolなし |
| /dev/nvidia* | 0件 | NVIDIA deviceなし |
| lspci | Cirrus Logic GD 5446 | 仮想表示deviceのみ |
| Docker runtime | runc系のみ | NVIDIA runtimeなし |
| Ollama log | id=cpu library=cpu | CPU backend選択 |
| ollama ps | 100% CPU | 全層CPU処理 |
| /api/ps | size_vram=0 | VRAM offloadなし |
CPU 100%でもQwenは動いた?
| 指標 | 実測値 |
|---|---|
| 生成request | 20/20成功 |
| 全体時間 | 23.300秒 |
| 平均生成速度 | 72.17 tok/s |
| Docker CPU | 平均284.85%、最大304.81% |
| CPU sample数 | 12 |
| Docker RAM最大 | 933.8MiB |
| OOMKilled / restart | false / 0 |
4 vCPUのうちcontainerへ3 CPUを許可したため、約300%が上限に近い値です。Windowsの単一グラフでいう「CPU 100%」と表示尺度が違う点に注意してください。
実験中に起きた問題は?
初回の20 requestは2.33秒で終わり、Docker statsが2 sampleしか残りませんでした。短すぎて負荷の傾向を説明しにくいため、promptを約80英単語、出力上限を96 tokenへ変更して再実験しました。最終runは23.300秒、12 sampleとなり、最大304.81%を確認できました。
RTX 3070実機では何から確認する?
- host:
nvidia-smi -LでRTX 3070とUUIDが見えるか。 - Ollama:
ollama psのPROCESSORが100% CPU、100% GPU、混在のどれか。 - server log:
discovering available GPUsの後にlibrary=cudaかlibrary=cpuか。 - Docker:Ollama公式Docker手順どおりNVIDIA Container Toolkitと
--gpus=allを設定したか。 - container内:公式Troubleshootingが示すGPU付きcontainerで
nvidia-smiが通るか。 - API:
/api/psのsize_vramが0のままか。
CUDAを入れ直せば直る?
先に入れ直すのはおすすめしません。nvccが表示するCUDA toolkit versionと、Ollama processから見えるdriver/deviceは別です。hostのnvidia-smi、container内のdevice、Ollama logの順に壊れている境界を特定したほうが、変更理由と結果を記録できます。
Linuxのsuspend後だけCPUになる場合は?
Ollama公式Hardware supportは、Linuxでsuspend/resume後にNVIDIA GPUを発見できずCPUへfallbackする場合があると説明しています。これは今回のVPSでは再現していません。自宅PCでは再起動前後のlogとnvidia-smiを保存し、公式手順を確認してください。
XServer VPSでこの悩みはどこまで解決する?
VPS自体にRTX 3070を認識させる用途ではありません。役立つのは、自宅workerが送るgpu_detected、driver version、backend、model、processor比率、VRAM、所要時間、errorを時系列で保存し、「いつCPUへfallbackしたか」を外部から判定する司令塔です。
| VPSでできる | VPSだけではできない |
|---|---|
| CPU fallbackの基準runを残す | RTX 3070の物理故障診断 |
| 自宅workerのmetricを保存 | 自宅OSのdriverを自動修復 |
| backend変化をalert化 | 8GB VRAMを増やす |
| job・error・成果物を集約 | 未接続GPUを直接操作 |
公開サービスへの影響は?
一時Ollama containerはOOMKilled false、restart 0で削除済みです。実験後も公開ready endpointはstatus=ready、database=ok、artifact_storage=okでした。hostのavailable RAMは3,294.2MiBから3,274.7MiBでした。
初心者が迷いそうなポイントは?
100% CPUは「Ollamaが壊れた」とは限らない。- RTX 3070が対応表にあっても、processからdeviceが見えるとは限らない。
- Task Managerの3D graphとCUDA compute利用率を混同しない。
- モデルがVRAMより大きい場合、CPU/GPU混在もあり得る。
- VPSの100% CPU再現はRTX 3070実機の修復成功ではない。
よくある質問
RTX 3070はQwenやDeepSeekに使える?
Ollama公式対応一覧にはRTX 3070があります。ただし8GB VRAMに収まるモデル・context・quantizationか、deviceが正しく検出されるかを別々に確認します。
ollama psが100% CPUならGPUは使われていない?
その時点で表示されたモデルはCPU処理です。server logと/api/psも照合すると誤読を減らせます。
nvidia-smiが動けば十分?
いいえ。Docker利用時はcontainer内からGPUが見えること、OllamaがCUDA backendを選ぶことも必要です。
XServer VPSにRTX 3070は付いている?
今回確認したVPSではNVIDIA deviceは0件でした。Cirrus Logicの仮想表示deviceだけが列挙されました。
今回のCPU推論速度はRTX 3070との比較値?
いいえ。72.17 tok/sはQwen3 0.6BをVPSの3 CPUで動かした値で、RTX 3070実機との速度比較ではありません。
RTX 3070のCPU 100%問題は解決した?
一部解決です。GPUなしVPSでは、host device 0件、library=cpu、100% CPU、VRAM 0 byteが矛盾なく一致し、20/20 requestを実行できました。次段階はAndroidをつないだ自宅PC workerにも同じdiagnosticを組み込み、GPU backendがCPUへ変わった時点をVPSへ自動記録することです。

コメント