PR

MacでOllamaが100% CPU?XServer VPSで実行アーキテクチャと推論バックエンドを実査

【PR】この記事にはA8.netのアフィリエイト広告を含みます。

先に結論:Ollamaが遅いときは、モデルの性能を疑う前に「バイナリのアーキテクチャ」と「実際の推論バックエンド」を分けて確認する必要があります。XServer VPSでは、ホスト・DockerOllamallama-serverがすべてx86-64で一致し、`ollama ps`は100% CPU、APIは`size_vram=0`、ログは`library=cpu`でした。MacRosetta問題そのものは直せませんが、比較基準を作れるため判定は一部解決です。

2026年9月1日、XServer VPS 4GBOllama 0.33.2を隔離起動し、CPU/GPUデバイス、実行ファイル形式、エミュレーション、推論ランナー、メモリを実査しました。Qwen3 0.6Bの回答生成まで行い、既存のCaddyFastAPIPostgreSQLが停止しないことも確認しています。

MacOllamaが100% CPUになるのは異常?

Apple Silicon上でMetal GPUを使う想定なのに100% CPUなら、実行経路を確認する必要があります。ただし、CPU表示だけでRosettaが原因とは断定できません。モデルがGPUメモリへ収まらない、Docker内でGPUへアクセスできない、対応バックエンドがないなど別の原因もあります。

Ollama公式GPUドキュメントは、AppleデバイスでMetal APIによるGPUアクセラレーションをサポートすると説明しています。想定と実表示が違うなら、確認対象はモデルだけではありません。

ZennではRosettaOllamaをどう確認している?

Zennの「OllamaでローカルLLMを動かす:MacのGPUを使ってQwen3.5・Gemma4・Phi-4 Miniを動かすまでの手順」は、`ollama ps`のPROCESSOR列と`file $(which ollama)`を確認する方法を紹介しています。

Macでの表示 記事内の判定
Mach-O 64-bit executable arm64 ARMネイティブ
Mach-O 64-bit executable x86_64 x86・Rosetta経由を疑う
ollama psが100% GPU GPU利用を確認
ollama psが100% CPU CPUフォールバックを調査

これはMac向けの確認方法です。Linux VPSではMach-OではなくELF、アーキテクチャはAMD64を確認します。

[PR]
VPSでいろいろ試すなら『XServer VPS』

RedditではM3 MacBook Proの100% CPUが報告された?

Redditr/ollamaには、M3 Pro・18GBのMacBook Prollama3phi3mistralを実行すると、`ollama ps`が100% CPUで遅かったという相談があります。投稿者はOllama公式サイトのインストーラーで再導入後に解消したと追記しています。

これは投稿者の環境での結果で、Homebrew全般や全Macに一般化できません。今回も「公式インストーラーなら必ず直る」とは結論づけず、確認手順だけを比較します。

XServer VPSMacRosetta問題を再現できる?

再現できません。XServer VPSLinuxAMD64で、Apple SiliconmacOSRosetta 2Metal GPUを備えていません。VPSCPU結果からMacGPU性能を推定することもできません。

一方、ネイティブAMD64CPU推論の対照環境として、同じモデルとプロンプトを実行できます。Mac側の結果と比べるときに「モデル差」ではなく「実行基盤差」を明示できます。

実験前のXServer VPS状態

項目 実験前
vCPU / RAM 4 vCPU / 4GB
RAM 571MB used / 3904MB total
MemAvailable 3332MB
swap 124MB / 2047MB
ストレージ 15GB / 145GB(11%)
公開API database=ok、artifact_storage=ok

ホストOSのアーキテクチャ確認結果

確認方法 結果
uname -m x86_64
dpkgprint-architecture amd64
getconf LONG_BIT 64
Linux kernel 7.0.0-30-generic
CPU表示 AMD EPYC-Milan Processor

`x86_64`と`amd64`は、この文脈では同じ64-bit x86系を示す表記です。1コマンドだけでなく3経路が一致することを確認しました。

DockerイメージとOllama実行ファイルは一致した?

実測結果
Docker image linux/amd64
コンテナuname x86_64
Ollama本体 ELF 64-bit x86-64
llama-server ELF 64-bit x86-64

ホスト、Dockerイメージ、Ollama本体、推論ランナーの4層が一致しました。少なくとも今回の実行経路に、arm64バイナリのx86変換はありません。

QEMUが動いていたらエミュレーション?

VPSには`qemu-ga`が動いていましたが、これは仮想マシンとホストを連携させるゲストエージェントです。異なるCPU命令を変換するQEMUユーザーモードとは区別します。

`binfmt_misc`にはQEMUアーキテクチャ変換用ハンドラーがなく、登録されていた`python3.14`はPython bytecode用でした。「qemu」という名前だけでエミュレーションと判断しないことがポイントです。

VPSGPUは搭載されていた?

確認項目 結果
nvidia-smi / /dev/nvidia* なし
rocminfo / /dev/kfd なし
vulkaninfo なし
/dev/dri/card0 あり
PCI VGA Cirrus Logic GD 5446
/dev/dri/renderD* なし
Docker GPU device request null

Cirrus Logic VGAVPSコンソールの画面表示用で、LLM計算用GPUではありません。`/dev/dri`が存在するだけでGPU推論可能とは判断できません。

Ollamaはどの推論バックエンドを選んだ?

CPUバックエンドです。3つの表示が一致しました。

確認経路 実測表示
Ollama起動ログ inference compute id=cpu library=cpu
ollama ps 100% CPU
GET /api/ps size_vram=0
llama-server引数 -t 2

環境表示には`OLLAMA_VULKAN=true`も含まれていましたが、利用可能GPUがないためCPUを選びました。環境変数の有効・無効ではなく、検出ログと稼働中モデルを確認する必要があります。

CPUバックエンドでも推論できた?

指標 実測値
モデル Qwen3 0.6B Q4_K_M
HTTP 200
total 2.784秒
load 1.887秒
prompt 59 token / 0.259秒
eval 40 token / 0.635秒
生成速度 約63.00 token/秒

100% CPUは今回のVPSでは異常ではなく、GPUなし構成の意図どおりの結果です。MacMetalを期待している場合と、同じ表示でも意味が異なります。

RAMswap・公開サービスへの影響

安全性指標 実測値
memory.peak 1,088,749,568 bytes(約1.014GiB)
OOM / OOM kill 0 / 0
コンテナswap peak 0
Docker再起動 0
モデル常駐中のMemAvailable 2319MB
公開ready API 正常

CaddyFastAPIPostgreSQLhealthyを維持しました。検証後は専用コンテナを削除し、RAM availableは3329MBへ戻りました。

実験中に起きた小さな問題

実行ファイル形式を確認するため、Ollamaバイナリを`/tmp`へ一時コピーしました。Dockerからコピーしたファイルはroot所有となり、一般ユーザーでの削除は「許可されていない操作」になりました。

対象が`/tmp/llmo-exp-07-ollama`だけであることを確認し、sudoで削除して解決しました。VPSDockerファイルを取り出すと、所有者が変わる点は初心者が迷いやすい部分です。

Mac側で確認すべき順番

  1. `uname -m`でMacのOSアーキテクチャを確認する
  2. `file $(which ollama)`でOllama本体がarm64か確認する
  3. 推論中に`ollama ps`のPROCESSOR列を確認する
  4. OllamaのデバッグログでMetalGPUerrorを確認する
  5. モデル容量、context、メモリ圧力を確認する
  6. Docker版ならApple GPUがコンテナへ渡る前提を再確認する

Ollama公式Issueでは、Apple Silicon MacDocker DesktopApple GPUをコンテナへ公開せず、コンテナ内OllamaCPU実行になるとOllamaコラボレーターが説明しています。MacGPUを使いたい場合、ネイティブアプリとDockerを同じ前提で扱わないことが重要です。

AIスマホ調査システムへ何を記録する?

VPSから自宅PCへ推論を依頼するときは、回答だけでなく次のメタデータも結果へ保存します。

同じスマホ調査ジョブが急に遅くなったとき、モデルの品質問題と実行基盤の変更を切り分けられます。

結論:XServer VPSRosettaCPUフォールバック問題は解決する?

Mac固有の問題はVPSだけでは解決しません。今回のVPSにはMetalRosettaもなく、Macの再インストールやGPU利用を遠隔で保証できないためです。

ただし、XServer VPSではホスト、DockerOllamarunnerbackendを一貫して記録できました。ネイティブAMD64CPU推論の対照データを持ち、自宅Mac側でも同じ項目を返す仕組みにすれば、「何となく遅い」をアーキテクチャとバックエンドの問題へ分解できます。司令塔としては有効、というのが今回の結論です。

[PR] AI実験用VPSの最新料金・仕様を確認する
VPSでいろいろ試すなら『XServer VPS』

実験日:2026年9月1日。MacOllamaMetalRosettaDocker対応はバージョンで変わります。導入時はOllama公式ドキュメントを確認してください。ZennRedditの内容は各投稿者の環境での報告です。

コメント

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