2013年1月7日月曜日

OOM Killerの発生原因と対処方法

■概要
Linux上のメモリをすべて使い果たし空きメモリを確保するためにOOM Killerというプロセスが動作し
既存のプロセスを「無作為」にkillしまくるという仕組み

■発生原因
メモリ不足からのスワップ領域不足
(スワップ領域まで食いつぶすと発生するようです)

■対処方法
  • メモリ増強
  • swap領域増加
  • パラメータチューニング(設定ファイル編集)
  • OOM Killer実行抑止(設定ファイル編集)
(他ググればいろいろとでてきますw)

■エラー文
/var/log/messagesに以下のようなログがでるとOOMが発生しています
Node 0 HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 5*4kB 5*8kB 3*16kB 4* 32kB 4*64kB 2*128kB 1*256kB 0*512kB 2*1024kB 0*2048kB 0*4096kB = 3052kB
Node 0 DMA32: 5*4kB 5*8kB 3*16kB 4*32kB 4*64kB 2*128kB 1*256kB 0*512kB 2*1024kB 0*2048kB 0*4096kB = 5440kB
Node 0 Normal: empty
Node 0 HighMem: empty
1154 pagecache pages
Swap cache: add 1141628, delete 1141308 find 296920/345846, race 0+14
Free swap = 0kB
Total swap = 2152700kB

0 件のコメント:

コメントを投稿