Az a baj, hogy az overcommitba nem szabad beleszámolni a swap területét. Mivel ha beleszámoljuk, akkor tényleg igaz az, hogy az OS több memóriát (nem csak fizikait, hanem virtuálisat) adott ki a processzek számára (azaz ígért meg), mint amit teljesíteni tud valójában.
Ugyanis lehet nyugodtan overcommit, de a rendelkezésre álló VM méretnél többet nem szabad kiadni. Például van 300 db 50 MiB memóriát kérő, de csak 20 MiB-ot ténylegesen foglalaló processz egy 4 GB tényleges RAM-mal és 8 GB swap területtel rendelkező gépen.
Ekkor minden processz megkaphatja a maga memóriaterületét nyugodtan, ugyan szabad RAM már nincs (300*20 MiB > RAM mérete), swapelés van (2 GiB), és probléma sincsen (hiszen még van szabad swap terület, amire nem írt még processz), még akkor sem, ha minden process el is kezdi kihasználni a neki megadott 50 MiB-ot - tegyük hozzá, teljes joggal, hiszen ennyit kapott a rendszertől.
Azonban amikor már a swap + ram területénél is több van kiajánlva a processzeknek és azok el is kezdik azt használni, akkor baj van.
Fel kell fogni, hogy minden erőforrásnak van határa, és a kernel feladata azt biztosítani, hogy minden processz élhessen azokkal az erőforrásokkal, amit a kernel neki már biztosított a múltban (és nem a jelenben, azaz fork után stb). Ha ezt nem tudja megtenni, akkor az rossz erőforráskezelés a kernel részéről. Erre nem az OOM killer a jó válasz.