OpenClaw メモリ使用量が高い
OpenClawの高いRAM使用量はほぼ常に、OpenClaw自体ではなくメモリにロードされたAIモデルから来ています。ゲートウェイプロセスは適度な200-400 MBしか使用しません。しかしフルF16精度の7Bパラメータモデルは14 GB以上が必要で、ほとんどのホームサーバーの容量を超えています。以下の戦略は品質を大きく落とすことなくモデルのRAMフットプリントを半分以下に削減でき、Raspberry Pi 5からHetzner VPSまで幅広く機能します。
🔍 まず診断する
最適化の前にベースラインを測定してください。Linux/macOSでは'ps aux --sort=-%mem | head -20'を実行してRAMを最も消費しているものを確認します。Dockerシステムでは'docker stats'でコンテナごとの使用量を確認します。OllamaプロセスはRSSメモリにモデルの完全なウェイトを表示することが多いです。各最適化でどれだけ節約できるか理解するために、以下の表と比較してください。
✅ メモリ削減戦略
量子化はモデルの精度を16ビット浮動小数点から4-8ビット整数に下げます。ほとんどのタスクでは品質の違いは無視できます。Q4_K_M 8Bモデルは約5 GBを使用し、F16は約14 GB — ほぼ3倍の削減です。他の最適化の前にまずここから始めてください。
KVキャッシュ(会話履歴を保存するために使用されるメモリ)はコンテキスト長と同時会話数に比例して増加します。context_lengthを4096から2048に半減すると、7Bモデルで約2 GBを節約できます。ほとんどの会話は実際には4096トークンをはるかに下回ります。
デフォルトでは、Ollamaはロードされたモデルを無期限にRAMに保持します。keep_alive: '5m'を設定すると、5分間の非アクティブ後にOllamaがモデルをアンロードし、次のリクエストが来るまですべてのGPU/RAMを解放します。SSDシステムでは2-4秒でモデルが再ロードされます。
スワップを追加すると、RAMが不足した場合にOSがモデルウェイトをディスクに溢れさせることができます。RAMでの実行より遅くなりますが、OOMキルを防ぎます。5 GBモデルを実行する4 GBのPiには、高速なSDカードまたはUSBドライブで通常4 GBのスワップで十分です。HDDへの過剰なスワップは避けてください — レイテンシが非常に大きくなります。