Linux カーネルのバージョンは 2.6.34.13 で、
CPU は Powerpc です。
ユーザー プロセスとカーネル モジュールの両方で OOM-killer を完全に無効にしたいと考えています。
以下のパラメータで設定することで、oom killer を無効にしました。
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
この場合、malloc()
すべての (物理メモリ + スワップ) 領域が割り当てられるまで、使用可能なアドレスを返します。すべての領域が既に割り当てられている場合、NULL が返され、OOM killer は実行されません。
しかし、kmalloc()
GFP_KERNEL 引数ではどうでしょうか。ZONE_NORMAL 領域が完全に割り当てられている場合、kmalloc()
NULL を返しますか? そしてOOMキラーは実行されませんか?