ノートPCでローカルAIを長時間動かすときの発熱・電力・騒音対策
AIを使いこなすClaudeで執筆し、GPTで自動校閲・修正しています。

結論から言うと、使い方の見直しで「ずっと全開で回り続ける状態」はかなり避けられます。ただし、生成中に負荷が上がること自体はなくなりません。熱や騒音の出方は機種の冷却設計に大きく左右され、この記事の対処がどれだけ効くかは数値で保証できません(以下の設定名と挙動は、公式ドキュメントで確認できた範囲です)。 効きやすい順に並べると次のとおりです。 1. 動かすモデルを小さくする(パラメータ数・量子化を見直す) 2. GPUとCPUに「割れて」載っていないか確認する 3. コンテキスト長を必要最小限にする 4. 生成する長さと同時処理を絞る 5. 使わないときにモデルをメモリから降ろす 6. 電源モードと設置環境を整える 1〜3で原因の大半に当たりをつけ、4以降は運用で補う、という考え方です。
この記事の目次
症状別の切り分け表
- 生成を始めるとすぐファンが全開になる、まず確認すること:モデルサイズ、ollama psのPROCESSOR列、対処(優先度順):小さいモデルに替える→GPUに収まるサイズにする
- 質問していないのに熱い・うるさい、まず確認すること:モデルが常駐していないか、対処(優先度順):保持時間を短くする、ollama stopで降ろす
- 長い会話や長文入力で急に重くなる、まず確認すること:コンテキスト長、対処(優先度順):値を下げる、会話を新しく始める
- バッテリーが短時間で減る、まず確認すること:電源接続の有無、常駐時間、対処(優先度順):電源接続で使う、使い終わりに降ろす
- 最初は速いが、だんだん遅くなる、まず確認すること:本体の温度、吸気口の状態、対処(優先度順):設置・電源モードを見直す
最後の行は、本体が温度を守るために性能を自動で落とす動作が関係している可能性があります。これはPC一般の話で、お使いの機種で起きているかはご自身の環境で確かめてください。
1. モデルを小さくする:最も効く変更
生成中のCPU/GPU負荷は、モデルが大きいほど長く高くなりがちです。ノートPCで常用するなら、「いま使える中で最大」ではなく「用途を満たす中で最小」を選ぶのが基本です。
目安として、要約や下書きなら小さめのモデルで足りる場面は多くあります。大きいモデルは、難しい推論が必要なときだけ切り替える運用にすると、常時の発熱を抑えられます。
2. GPUとCPUに分割されていないか確認する
Ollamaではollama psで、読み込み中のモデルが「100% GPU」「100% CPU」「両方の混在」のどれかを確認できます(公式FAQの説明)。混在している場合、モデルがGPUメモリに収まりきっていません。
ollama psPROCESSOR列に割合が分かれて出ていたら、次のどれかを試します。
- 一回り小さいモデルまたは量子化の強いものに替える
- コンテキスト長を下げる(次節)
- 他のアプリのGPUメモリ使用を減らす
分割実行は、一般に処理が遅くなりやすい傾向があります。遅いと負荷が続く時間も延びるため、発熱の面でも不利になりがちです。ただし、これは考え方であり、機種ごとの実測ではありません。
LM Studioでは、モデルごとにGPUオフロードの設定を保存できます(公式ドキュメント)。CLIではlms load <モデル名> --gpu maxのように指定でき、0〜1の数値、off、maxが使えます(lms load)。
3. コンテキスト長を必要最小限にする
コンテキストを大きく取るほどメモリを使い、長い入力では計算も増えます。Ollamaのコンテキスト長のページでは、VRAMが24GB未満なら4k、24〜48GBで32kなど、VRAMに応じて既定値が決まると説明されています。一方、FAQには既定を4096とする記述もあります。ページによって説明が違うので、実際の値はollama psのCONTEXT列で確認してください。
変更例(説明用):
# コンテキストを4096にしてサーバーを起動
OLLAMA_CONTEXT_LENGTH=4096 ollama serveAPIから呼ぶ場合は、リクエストごとにnum_ctxで上書きできます。なお、公式ページはエージェントやコーディングツールには64000トークン以上を勧めています。用途によっては小さくしすぎると動作が崩れるので、用途別に値を分けてください。
LM Studioでも、モデルごとにコンテキストサイズとFlash Attentionの既定を保存できます。CLIなら--context-length 4096の形です。
メモリ側の補助として、OllamaにはOLLAMA_FLASH_ATTENTIONと、KVキャッシュの量子化OLLAMA_KV_CACHE_TYPE(f16が既定、q8_0で約半分、q4_0で約4分の1のメモリ)があります。これらはメモリ使用量を減らす設定で、発熱を直接下げると公式が述べているわけではありません。GPUに収めるための手段として使うのが妥当です。
4. 生成の長さと同時処理を絞る
- 同時処理:OllamaのOLLAMA_NUM_PARALLELの既定は1です。増やすとメモリ使用量が「並列数×コンテキスト長」に比例して増えると説明されています。ノートPCでは増やさないのが無難です。
- 同時に読み込むモデル数:OLLAMA_MAX_LOADED_MODELSで上限を決められます。ノートPCでは、必要なら1に絞る手があります。
- 出力の長さ:使っているアプリやAPIに最大出力トークン数の設定があれば、必要な長さに制限します。プロンプトでも「300字以内で」と指示すると、無駄な長文生成を減らせます。
依頼文の例(説明用):
次の議事メモを、決定事項3点以内、各40字以内で要約してください。
前置きと補足説明は不要です。
(ここにメモを貼る)5. 使わないときはメモリから降ろす
Ollamaはモデルを既定で5分間メモリに保持します(OLLAMA_KEEP_ALIVE)。これは次の質問を速くする代わりに、メモリを占有し続けます。変更方法は次のとおりです。
# 1分で降ろす
OLLAMA_KEEP_ALIVE=1m ollama serve
# 今すぐ降ろす(モデル名は自分の環境のもの)
ollama stop モデル名keep_aliveに0を指定すると応答直後に降ろし、-1だと降ろしません。APIのパラメータは環境変数より優先されます。
LM Studioのアイドルのタイムアウト(TTL)は、APIから必要時に自動読み込みするJITロードでは既定60分です。一方、CLIのlms loadでは既定のTTLがなく、手動で降ろすまで保持されます。CLIで10分に設定する例はlms load <モデル名> --ttl 600(秒)です(TTLの説明)。バッテリー駆動が多いなら、10分程度に設定する選択肢があります。この値は編集上の提案で、最適値は使い方次第です。
6. ノートPC側の運用
ここはOSや機種で名称も場所も違うため、一般的な方針だけ挙げます。
- 電源接続で使う。バッテリー駆動では性能制限がかかる機種もあります。
- OSの電源モードで、性能と静音のバランスを選ぶ。静音寄りにすると遅くなりますが、ファンの回転も抑えられる場合があります。
- 吸気口・排気口をふさがない。布の上ではなく、硬い平面か台の上に置く。
- 長時間の生成は、バッチにして夜間などに回す。
効果を自分で確かめる記録表
対策の効果は機種ごとに違うため、変更を一つずつ試して記録してください。以下は空欄の記録用テンプレートです。
- 変更前、同じ質問での応答時間:、ファンの体感:、ollama psのPROCESSOR:、備考:
- コンテキスト長を下げた、同じ質問での応答時間:、ファンの体感:、ollama psのPROCESSOR:、備考:
- 小さいモデルにした、同じ質問での応答時間:、ファンの体感:、ollama psのPROCESSOR:、備考:
一度に複数を変えると原因が分からなくなります。1回に1項目ずつ変え、同じ質問で比べるのが確実です。

