パフォーマンスのヒント:LimitMEMLOCK=infinityでローカルモデルのVRAM/RAMをロックする

✍️ OpenClawRadar📅 公開日: September 16, 2026🔗 Source
Ad

ローカルモデルがVRAMとRAMの合計に収まる場合、プロバイダーのsystemdユニットの[Service]ヘッダーの下にLimitMEMLOCK=infinityを追加することで、モデルプロバイダーのメモリを常駐させることができます。するとカーネルはモデルの重みをディスクにページングしなくなり、モデルがロードされた後の速度低下のほとんどはこれが原因です。

ユニットファイル

r/openclawにLM Studioの動作例として投稿されたものです(パスとユーザー名はご自身のインストールに合わせて編集してください):

[Unit]
Description=LM Studio Server
RequiresMountsFor=/home

[Service] LimitMEMLOCK=infinity Type=oneshot RemainAfterExit=yes User=******** Environment="HOME=/home/" ExecStartPre=/home//.lmstudio/bin/lms daemon up ExecStartPre=/home//.lmstudio/bin/lms load text-embedding-bge-large-en-v1.5 --yes ExecStartPre=/home//.lmstudio/bin/lms load qwen3.6-35b-a3b-uncensored-hauhaucs-aggressive --yes ExecStart=/home//.lmstudio/bin/lms server start ExecStop=/home//.lmstudio/bin/lms daemon down

[Install] WantedBy=multi-user.target

Ad

各部分の役割

  • LimitMEMLOCK=infinity — デフォルトのプロセスごとのmlock上限を解除し、ロードされたモデルをスワップやページングの対象外に保ちます。
  • lms daemon upを含むExecStartPre — 何よりも先にLM Studioデーモンを起動します。
  • lms load <model> --yes — サービス起動時に各モデルを事前ロードします。この例では埋め込みモデル(text-embedding-bge-large-en-v1.5)とチャットモデル(qwen3.6-35b-a3b-uncensored-hauhaucs-aggressive)をロードします。
  • ExecStartとしてのlms server start — OpenAI互換のサーバーを起動します。
  • ExecStopとしてのlms daemon down — シャットダウン時にクリーンアップします。
  • RequiresMountsFor=/home — モデルファイルを含むホームパーティションがサービス開始前にマウントされていることを保証します。
  • Type=oneshotとRemainAfterExit=yes — 起動コマンドが終了した後もユニットはアクティブとみなされます。これはlms CLIが別途管理するデーモンに適しています。

注意点

このヒントは、モデルがVRAM+RAMに収まることを明示的に前提としています。収まらない場合、メモリをロックするのは間違った手段です — 問題を別の場所に押しやるだけです。収まるようになれば、推論時のページングによるストールを避けられるのが利点です。

適用するには:このブロックをユニットファイルに追加し、systemctl daemon-reloadを実行してサービスを再起動します。対象読者はLM Studioをsystemdサービスとしてヘッドレスで実行している開発者です。同じ考え方は、重みをメモリに固定したいあらゆるプロバイダープロセスにも当てはまります。

📖 Read the full source: r/openclaw

Ad

👀 See Also

6GB VRAMのノートパソコンで完全ローカルのAIエージェントを実行する方法:学生のためのステップバイステップガイド
Tips

6GB VRAMのノートパソコンで完全ローカルのAIエージェントを実行する方法:学生のためのステップバイステップガイド

高価なAPIに頼らず、学生が6GB VRAMのノートパソコンを活用してAIエージェントをローカルで実行する方法を探ります。当ガイドでは、必須のステップとツールを詳しく解説します。

OpenClawRadar
Claudeに共通の煩わしさを防ぐための必須カスタム指示
Tips

Claudeに共通の煩わしさを防ぐための必須カスタム指示

Redditユーザーが、Claudeの一般的な不満点に対処するための3つの具体的なカスタム指示を共有しています。これには、破壊的なコマンドの実行前に警告を求めること、回答途中での計画変更を防ぐこと、コードブロックを機能的なコードのみに限定することが含まれます。

OpenClawRadar
すべての開発者が知っておくべき20のClaude Codeコマンド
Tips

すべての開発者が知っておくべき20のClaude Codeコマンド

Redditの投稿が、タスク停止、コンテキスト管理、ブランチ、リモート制御、そして/compact、/branch、/simplifyといった生産性向上ショートカットを含む20のClaude Codeコマンドをまとめています。

OpenClawRadar
🦀
Tips

DeepSeek Flash出力のリレースエンドポイント改変を修正する方法

OpenRouterのRelaceエンドポイントのバグにより、DeepSeek V4 Flashの出力が静かに破損し、特に非英語のテキストで顕著でした。OpenClawの無視リストを介してプロバイダーを強制することで修正できます。

OpenClawRadar