2026 リモートMac上のOpenClawとOllama/vLLM同居:ポート、ヘルスチェック、リソース競合、起動順Runbook

約16分 · MACCOME

リースまたは自管のリモートMac同一ホストOpenClaw GatewayOllamaまたはローカルvLLM を載せるとき、多くの場合、失敗理由は「モデル名が違う」ではなく、ポート・プローブ順・ユニファイドメモリとCPUの競合・起動/停止の作法の積み重ねです。本文は オフライン・プライベートモデル分診 記事と役割を分けます。向こうはAPIブリッジ、コンテキスト、無応答です。こちらは同一マシン上のトポロジ専用Runbookです。リスナの分離、healthz の前に確認すべき層、負荷時に先にモデルを下げてからGatewayをいじる理由が分かる状態になれば目的達成です。

同居で際立つ「偽障害」五類型

  1. ポート衝突:Ollamaは既定で 11434、代表的なvLLMは 8000、OpenClaw Control UIはしばしば 18789。ローカルでリバプロやサイドカーを足すと二重占有が起きやすくなります。
  2. プローブ順の逆転:Gatewayは 200 だがproviderが未熟な推論に向いており、UIは開くがチャットが空のままになります。
  3. ユニファイドメモリの独占:重いウェイト、Metal/ANE、Nodeバッファが同時に乗ると、CPU使用率が穏やかでも体感だけ遅くなります。
  4. 同居I/Oとサーマル:長時間推論でファンと熱制限が張り付き、Xcode級のビルドとエージェントが同居するとジッターに見えます。
  5. アップグレード競合:Gatewayだけ先に上げる、または逆にモデルだけ先に変えると、保存したbase URLやトークンと実リスナがズレます。Docker手順は 公式DockerとControl UI を参照します。

ポートと責務境界:変更票に貼る表

レビュー票に表をそのまま貼り、「口頭で8000」と「三周目で別サービスが8000を奪う」の差を潰します。

コンポーネント 代表的な既定 OpenClawとの接点
Ollama 既定は 127.0.0.1:11434。LAN公開は明示バインドとファイアウォール設計が必要です。 providerの baseURL はOpenAI互換の /v1 へ。上流ヘルス無しの盲リバプロは避けます。
vLLM(ローカル) 多くは 8000 または任意。複数インスタンスはポートとGPU/スレッドプールを分けます。 Ollama同様、/v1/models と最小completionをGateway参照前に実通させます。
OpenClaw Gateway Control UIはよく 18789。実際の openclaw 設定に従います。 先に healthzreadyz、続けてprovider。詳細は Gateway/モデル分診 です。

六手順:署名できる起動・検証順

  1. リソース予算の一行化:推論プロセスの最大メモリ/同時リクエストと、Gateway+Nodeの予備を表に書きます。M4級ではOSとディスクキャッシュ向けに10〜20%程度の空きを残すのが現実的です(モデルに合わせて調整)。
  2. 推論を先に、providerは後:Ollama/vLLMのリッスン安定後に curl で最小completion、その後にGateway起動またはreloadし、「未準備」状態を固定化しません。
  3. ポートとループバック方針の固定:ローカル呼び出しのみなら 127.0.0.1 優先。コンテナ横断のときはbridgeと担当者を明記します。
  4. 二層プローブ:第1層は推論(HTTP+極小生成)、第2層はGateway healthz、第3層で対話E2E。どれか赤なら本番トラフィックを止めます。
  5. ホット変更の作法:ウェイトやイメージ更新時は会話をドレインし、必要ならGateway入を止めるか読み取り専用へ。モデル差し替え後にGatewayを戻し、二層プローブを繰り返します。
  6. ロールバック:直前のウェイトパスとproviderブロックを残します。複数変更なら「推論→Gateway」の層ごと戻しです。doctorの読み方は インストール後doctor のmacOS向け節を参照します。
bash
# 最小プローブ順の例(ホスト/ポートを置換)
curl -sS "http://127.0.0.1:11434/api/tags" > /dev/null   # Ollama生存
# curl -sS "http://127.0.0.1:8000/v1/models" > /dev/null  # vLLM
curl -fsS "http://127.0.0.1:18789/healthz"                 # Gateway
# 続けて最短チャットまたは環境ドキュメント通りの openclaw doctor

オンコール表に載せる三つの硬い数字(実測で置換)

  • 初トークン遅延とキュー:コールドロード後とホット時のP95を分けて記録します。ホットでもCPUが低いのに数秒超なら、先にユニファイドメモリ圧迫とスワップを疑い、並列だけ上げません。
  • 同居二負荷:大規模Xcode/モノレポビルド24/7エージェント がぶつかるとOOMや極端に遅いトークンが典型です。時間帯分け、キュー、専用ビルド機のほうが安上がりです。
  • キープアライブとタイムアウト:長いストリームで、推論側とクライアント側のいずれか一方だけ短いと中間切断に見えます。ペアで変え、変更番号を残します。

ノートPC運用と無管理共有ホストが同居構成で負けやすい理由

スリープ/ウェイク、家庭用 uplink の揺らぎ、予測不能な隣人により、再現可能な起動停止とプローブが確率論になります。OllamaとGatewayの同居は安定した熱境界と見通しのあるI/Oを要します。専有、24/7、メモリとストレージを契約に書けるリモート環境へ移すほうが、延々とパラメータをいじるよりMTTRを下げやすいです。本Runbookを本番に載せるなら、MACCOMEのクラウドMacは専有Apple Siliconと、会計に載せやすいリース形態を揃え、リソース表と変更管理を争点にできる一方で、個人端末頼みの運任せを減らします。

本番初週にやらないほうがよいこと

単発completionが通る前にGatewayの同時実行だけ叩かないでください。推論ポートが奪われていないか確認する前にGatewayバージョンだけ上げないでください。二回きれいに切るほうが、十ページの口伝より深夜の電話を減らします。

FAQ

オフラインOllama/vLLM記事との分担は?

向こうは APIブリッジ、コンテキスト、無応答 です。こちらは 同一マシンのポート、プローブ、リソース、起動順 です。オフライン分診Gateway分診 を併読してください。

GatewayをDocker、Ollamaをホストにするのは同居か?

論理同居ですが、ネットワークは明文化が必要です。 host.docker.internal やブリッジIPに加え、ファイアウォール検収まで書きます。起点は Docker本番Runbook と公式Docker記事です。