OllamaがGPUを使わないときの対処法|認識・メモリ不足・設定を切り分ける

OllamaのGPU利用を認識・メモリ・設定から確認する

OllamaのGPU利用を認識・メモリ・設定から確認する

OllamaがGPUを使っていないように見えたら、まずモデルを動かした直後に ollama ps を実行し、PROCESSOR 列を確認します。CPUだけに配置されている場合と、GPUにも配置されている場合では、調べる原因が変わります。GPU使用率のグラフだけで判断せず、モデルの配置、空きメモリ、サーバーの起動環境を順に確かめましょう。

この記事は、手元のPCや自分で管理するサーバーでローカルモデルを実行する場合の診断ガイドです。2026年9月10日に確認した公式資料を基にしており、機種別の動作検証や速度の実測は行っていません。クラウドモデルの処理では、手元のGPUが使われないこと自体は異常ではありません。

最初にollama psでモデルの配置を見る

Ollama(大規模言語モデルを実行するツール)は、コマンドを入力する側とモデルを動かすサーバーに分かれています。Web画面や別PCから利用している場合は、調べたいサーバーに接続した端末で確認してください。別のサーバーの一覧を見ていると、以降の診断が食い違います。接続先を変更したことがある人は、クライアント側の OLLAMA_HOST やWeb画面の接続設定も確認してください。

PowerShellまたはBashで、次を実行します。

# 保存済みモデルと読み込み済みモデルを混同しないため、両方を確認する
ollama list
ollama ps

ollama list は保存済みモデル、ollama ps は現在メモリに読み込まれたモデルを確認するコマンドです。一覧が空なら、ollama list にあるローカルモデルを普段の方法で実行し、応答直後にもう一度 ollama ps を確認します。Ollama CLI Reference

PROCESSORの表示 読み取れること 次に確認すること
100% GPU モデル全体がGPU側へ配置されている 遅さが初回だけか、長い入力で起きるか
100% CPU モデル全体がシステムメモリ側へ配置されている GPU認識、CPU固定の設定、空きメモリ
CPUとGPUの両方 モデルが両方へ分かれて配置されている モデルサイズ、コンテキスト長、同時利用
モデルの行がない このサーバーで読み込み済みモデルを確認できない 実行直後か、接続先が正しいか

ollama psの結果と次の確認先

Ollama FAQを基に筆者作成。配置を示す模式図です。

この表は表示の読み方であり、実測結果ではありません。100% GPU はGPU使用率100%という意味ではなく、モデルの配置を示します。 その表示でもCPU処理は発生し得るため、CPU使用率が上がったことだけでGPU未使用と判定する必要はありません。Ollama FAQ:GPUへのモデル配置を確認する

NVIDIA GPUが見えないときの確認順

GPU名とドライバーを確認する

NVIDIA GPUを使う環境では、Ollamaサーバーが動いているOSで次を実行します。AMDやAppleのGPUでは、後述する環境別の確認へ進んでください。

# Ollamaの設定を変える前に、OS側のGPU認識を確認する
nvidia-smi

GPU名とドライバーの情報が出るかを確認します。コマンドが見つからない場合は、ドライバーの導入状態とコマンドの場所を調べます。GPUとの通信エラーが出る場合は、その状態を解消してからOllamaを再確認します。Ollama Linux:ドライバー確認

nvidia-smi が成功しても、そのGPUをOllamaが利用できるとは限りません。表示された型番を、Ollamaの対応GPU一覧と照合してください。NVIDIAのCUDA(GPUで並列計算するための基盤)対応条件に加え、OSやGPU世代によるドライバー条件も確認します。

過去に追加したGPU制限を確認する

CUDA_VISIBLE_DEVICES はOllamaから見えるNVIDIA GPUを制限する環境変数です。たとえば無効なIDである -1 を指定すると、GPUを使わずCPUへ切り替える設定になります。複数GPU環境では、以前指定したIDが意図したGPUを指しているかも確認します。Ollama Hardware support:GPU Selection

同じく、過去の対処で OLLAMA_LLM_LIBRARY を固定した場合は、その設定が残っていないか調べます。古い記事のライブラリ名をそのまま指定するより、追加した設定を記録してから解除し、自動選択へ戻して比較する方が原因を絞れます。Ollama Troubleshooting

設定を確認する場所は、後述の「設定変更はサーバーの起動元へ反映する」で整理します。

GPUメモリに入りきらないときの対処

GPUが認識されていても、モデル実行に必要なメモリが空き容量に収まらない場合があります。VRAM(GPUが使うメモリ)を考えるときは、モデルの保存ファイルだけでなく、コンテキスト長(一度に扱える文章量の上限)も確認してください。コンテキスト長を増やすと、必要なメモリも増えます。Ollama Context length

文脈用メモリの増加とCPU側へのモデル配置

Ollama Context lengthを基に筆者作成。配置の一例で、容量比や速度の実測値ではありません。

変更前のモデル名・PROCESSORCONTEXT を記録して、次の項目を一つずつ試します。CONTEXT 列の有無など、表示形式はバージョンによって異なります。

試すこと 切り分けたい原因 トレードオフ
使っていないモデルを停止する 他モデルとのメモリ競合 次に使うときは再読み込みが必要
他のGPU利用アプリを終了する Ollama以外による占有 並行作業を中断する
コンテキスト長を小さくする 長い文脈を保持するためのメモリ 扱える文章量が減る
小さいローカルモデルへ変える モデル自体の規模 回答品質や得意分野が変わる

モデルを止めるときは、PowerShellまたはBashで次を使います。MODEL_NAMEollama ps に表示された、停止してよいモデル名へ置き換えてください。共有サーバーでは他の利用者の処理がないか確認します。

# 不要な読み込みだけを解放し、比較条件をそろえる
ollama stop MODEL_NAME

この操作はモデルをメモリから解放します。保存済みモデルの削除に使う ollama rm とは目的が異なります。Ollama CLI Reference

コンテキスト長を一時的に比較するなら、ollama run MODEL_NAME で対象のローカルモデルとの対話を開き、次を入力します。

/set parameter num_ctx 4096

4096は診断用の例で、すべての用途への推奨値ではありません。短い同一の質問を送り、別端末から ollama ps を見て配置が変わるか確認します。変更前の値を控えておき、比較後は必要な値へ戻してください。アプリや外部ツールから送るリクエストでは、そちらの設定も別途確認します。Ollama FAQ:コンテキスト長の指定

小さいモデルではGPUへ配置され、大きいモデルや長いコンテキストでCPU併用になるなら、容量や設定の影響を疑う材料になります。ただし、モデル間では対応する実行方式も異なるため、この比較だけで原因を確定しないでください。

設定変更はサーバーの起動元へ反映する

端末で環境変数を変更しても、すでに別の場所で動いているOllamaサーバーへ自動で反映されるとは限りません。設定はモデルを実行するサーバーの起動元で変更し、再起動して確認します。

操作端末とサーバーの起動設定の関係

Ollama FAQを基に筆者作成。サーバーは同じPC内で動いている場合もあります。

サーバーの起動方法 設定する場所 反映の確認
Windowsアプリ ユーザー/システム環境変数 トレイから終了し、スタートメニューから起動し直す
Linuxのsystemdサービス サービスの設定・追加設定 設定の再読み込みとサービス再起動
端末で ollama serve そのプロセスを起動する端末 停止後、変更した環境から再起動
Docker コンテナの起動設定 設定を更新したコンテナで確認

Windowsでは環境変数を保存した後にOllamaアプリを起動し直します。コマンドを入力するPowerShellだけを開き直しても、バックグラウンドのアプリが古い設定で動き続ける場合があります。Ollama Windows

Linuxでsystemd(常駐サービスを管理する仕組み)を使っている場合は、sudo systemctl edit ollama で追加設定を管理できます。既存設定を控え、診断に関係する項目だけを変更した後、Bashで次を実行します。

# サービス側へ変更を反映するため、定義を読み直してから再起動する
sudo systemctl daemon-reload
sudo systemctl restart ollama

設定を戻す場合も、自分が追加・変更した項目を元へ戻して同じ手順で反映します。サービス全体の設定削除は、ほかの運用設定まで失わせるため避けます。Ollama Linux:Customizing

Docker・WSL2・AMD・Macで確認先が変わる

DockerではコンテナへのGPU公開を確認する

Docker(アプリをコンテナとして動かす仕組み)では、ホストOSでGPUが見えることと、コンテナからGPUを使えることを分けて調べます。NVIDIA GPUでは、利用するDocker環境に合ったGPU対応の設定と、コンテナへのGPU割り当てが必要です。Ollama Docker

Ollama公式の診断では、次のようにOllamaとは別のコンテナから nvidia-smi を実行して確認します。未取得のUbuntuイメージはダウンロードされます。

# Ollama固有の問題とDockerのGPUアクセス問題を分ける
docker run --rm --gpus all ubuntu nvidia-smi

これが失敗するなら、先にDocker側のGPUアクセスを確認します。成功する場合は、既存のOllamaコンテナにもGPUを割り当てているかを確認します。上のコマンドでGPUが使えても、既存コンテナの設定が変更されるわけではありません。Ollama Troubleshooting:NVIDIA GPU Discovery

LinuxのDocker EngineではNVIDIA Container Toolkitの設定が確認対象になります。Ollamaコンテナを作り直すときは、モデルの保存ボリュームと既存の起動設定を引き継いでください。AMD向けにはROCm(AMDのGPU計算基盤)やVulkanを使う別の経路があるため、NVIDIA用の指定をそのまま当てはめないようにします。Ollama Docker:GPU別の構成

WSL2ではWindows側のドライバーを確認する

WSL2(Windows上でLinuxを動かす環境)内でNVIDIA GPUを使う場合、Windows側の対応ドライバーを利用します。NVIDIAは、WSL内へLinux用GPUドライバーをインストールしないよう明記しています。通常のLinux向け手順をそのまま実行する前に、WSL用の手順を確認してください。NVIDIA CUDA on WSL User Guide

また、WSLの端末からWindows版Ollamaへ接続している構成では、調べるべきサーバーはWindows側です。WSL内にOllamaサーバーを導入している構成と混同しないようにします。

AMDとMacはNVIDIA向け診断から分ける

AMDはOS、GPU型番、ROCmやVulkanなどの実行経路によって対応が異なります。型番を公式一覧と照合し、サーバーログでどの実行経路が選ばれているか確認します。Windows版の公式資料にも、GPUによってVulkan経由を使う場合の説明があります。Ollama Hardware supportOllama Windows

AppleのGPUはMetal(AppleのGPU利用基盤)経由で動くため、nvidia-smi は確認手段になりません。特にmacOSのDocker Desktopについては、Ollama FAQでGPUアクセラレーションの制約が説明されています。MacでGPU利用を調べる際は、ネイティブ版かDocker版かも確認してください。Ollama Hardware support:MetalOllama FAQ:DockerでのGPU利用

改善しないときはログと変更前後を照合する

GPU認識や初期化のエラーは、サーバー側のログで確認します。WindowsアプリのログはPowerShell、ほかの例はBashで確認できます。Dockerの ollama は実際のコンテナ名へ置き換えてください。

Windowsアプリ:

# 再現直後の範囲に絞り、過去の無関係なログと分ける
Get-Content "$env:LOCALAPPDATA\Ollama\server.log" -Tail 100

Linuxのsystemdサービス:

# 今回の診断に必要な直近のログを確認する
journalctl -u ollama -n 100 --no-pager

Docker:

# 調べているサーバーのコンテナ名を指定する
docker logs --tail 100 ollama

端末で ollama serve を起動している場合は、その端末の出力を確認します。GPUを見つけられないのか、初期化に失敗しているのか、モデルの読み込み時に問題があるのかを、実行時刻と突き合わせてください。ログの文言はリリースごとに変わるため、特定の一行がないことだけで異常と判定しません。Ollama Troubleshooting

変更後は、同じモデル・同じ短い質問・同じコンテキスト長で試します。初回の読み込み待ちと、読み込み後の応答の遅さも分けて記録してください。

確認結果 次の判断
設定解除や再起動後にGPU配置へ変わった その変更とログの差を記録する
文脈を短くするとGPU配置へ変わった 必要な文章量と空きメモリのバランスを調整する
GPU配置のまま、長い入力だけで遅くなる GPU未認識の診断から、入力処理やモデル性能の評価へ進む
小さいローカルモデルでもCPU配置のまま GPU対応、実行経路、起動時ログを再確認する

相談するときは、OS、Ollamaのバージョン、GPU型番、ドライバー、起動方法、モデル名、ollama ps の結果、再現時刻付近のログをそろえると状況が伝わります。外部へ貼るログでは、個人名を含むパス、入力内容、認証情報が混ざっていないか確認してください。

容量不足が確認できた後の機材選びは、ローカルLLM用GPUの選び方も参考になります。

コメント

タイトルとURLをコピーしました