レガシーの理由で、PAE(Ubuntu 12.04 LTS)を備えた32ビットカーネルで実行されるアプリケーションサーバーがあります。 freeの出力に見られるように、サーバーには24GBのRAMがあります。
$> free -lmt キャッシュされた使用済みの空き共有バッファの合計 Mem:24256 19468 4788 0 0 2382 低:189 146 42 高:24067 19321 4745 -/ +バッファ/キャッシュ:17085 7170 スワップ:19956 47 19908 合計:44212 19515 24697
ただし、実際のメモリ使用量が約16 GBを超えるとすぐに、プロセスはOOMキラー(特にGoogle Chrome)によって強制終了され、Java)からの一部のメモリ割り当ても失敗する傾向があります。セットする
vm.overcommit_memory = 1
sysctl
経由ですが、役に立たないようです。これは dmesgの抜粋 で、OOMの1つの後の出力を示しています。
oom killer premature
の簡単なグーグルは、 いくつかの理由 システムに十分なメモリ/スワップが利用可能な場合でも、OOMキラーが呼び出される可能性があることを示唆しているようです。
考えられる理由の1つは、特にメモリの断片化です。
Normal: 2386*4kB 2580*8kB 197*16kB 6*32kB 4*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 35576kB
利用可能な通常の大きなページがあまりないことを示唆しています。
これはあなたの質問に対する完全な答えではないのではないかと思いますが、考えられる1つの方向性を示す可能性があります。