llama.cpp で Gemma 4 を使うと、より大きなプロンプトでシステムRAMをすべて使い切ってしまう

Reddit r/LocalLLaMA / 2026/4/6

💬 オピニオンSignals & Early TrendsTools & Practical Usage

要点

  • ユーザーが llama.cpp で Gemma 4 31B をテストしたところ、大きなプロンプト/コンテキストのワークロードによってシステムRAMが枯渇し、GPU/VRAMが利用可能な状態でも Linux が OOM kill(メモリ不足による強制終了)を発生させることが報告された。

前から気づいていたわけではないのですが、最近気づいていることがあります。VRAM 32GBのGemma 4 31Bを、DDR5 64GBでテストしていました。UD_Q5_K_XLのUnsloth量子化モデルなら、コンテキストはだいたい100k程度でロードできますし、VRAMの余裕も十分ありますが、問題を殺してしまうのは数個のプロンプトを送ることです。すると実際のシステムRAMがいっぱいになってOOMでプロセスが終了します。GPUやCUDAのOOMではなく、たとえばLinuxが、llama.cppが63GBのシステムRAMを使っているせいでそれを殺す、という感じです。

それ以降、DDR4 128GBを持つ、古いGPUがたくさん載った別のより遅いPCに切り替えました。GPUのVRAMは余るほどあるのですが、それでもシステムRAMを食ってはいます。ただし、巨大なプロンプトでプロセスが死ぬまでのバッファが大きくなるので、より使いやすいです。とはいえ、少しの間プロセスを動かしていて、いくつかプロンプトを出し、だいたい~25kトークンのプロンプトをいくつか投げたところで、システムRAMが80GBまで到達して増え続けているので、100kまでは到底届かないと思います。

それでも試しにQ4へ切り替えてみました。すると32GBのVRAMのうち~23GBしか使いませんでしたが、それでも大きめのプロンプトをいくつか投げるとシステムRAMがすぐに埋まり、llama.cppが落ちます。

私は、2時間前時点での最新のllama.cppを使っていて、複数のマシンでテストしましたが、同じことが起きています。

システムRAMが十分に大きくないからといって、モデルのコンテキストを下げて、それを32GBのVRAMのうち約18GBしか使わないようにする必要があるのは変ですよね?

params -ngl 999 -c 102400 -fa on --cache-type-k q8_0 --cache-type-v q8_0 --temp 1.0 --top-k 64 --top-p 0.95

submitted by /u/GregoryfromtheHood
[link] [comments]