A 6-year late partial answer to:
Are there real life programs, e.g. packaged in a typical Linux distributions, which actually need and are using memory overcommitment in a sane and useful way? I know none of them!
I have found that my system is unstable without memory overcommit. I believe the other answers describe why overcommitment is useful. This answer addresses the necessity of overcommit for common software (at least on my system ).
When experimenting with setting vm.overcommit_memory to 2 and vm.overcommit_ratio to 100, I was very surprised to find that firefox and chromium both die (firefox went 'poof' and the whole application crashed, chromium lost tab processes gracefully) as well as my entire gnome session. The sad dmesg logs are below.
Anecdotally, my system didn't look like it was out of memory. After the first crash I watched top report available memory around 10GB while the other crashes happened.
System
Asrock Z77 Extreme 4
16GB RAM, No Swap
i7 3770k, default clock speeds :/
NixOS, updated March 2024.
dmesg snippet
[70338.201808] __vm_enough_memory: pid: 588132, comm: Sandbox Forked, no enough memory for the allocation
[70338.204580] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204595] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204598] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204600] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204602] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204604] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204606] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204608] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.204610] __vm_enough_memory: pid: 3874, comm: WRScene~ilder#1, no enough memory for the allocation
[70338.207114] Sandbox Forked[588132]: segfault at 0 ip 00007f0b6bb85322 sp 00007f0b489fc330 error 6 in libxul.so[7f0b69795000+567f000] likely on CPU 6 (core 2, socket 0)
[70338.207143] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[70343.245298] __vm_enough_memory: 2724 callbacks suppressed
[70343.245303] __vm_enough_memory: pid: 588185, comm: (sd-parse-elf), no enough memory for the allocation
[70343.249298] __vm_enough_memory: pid: 588185, comm: (sd-parse-elf), no enough memory for the allocation
[70343.297866] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297876] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297878] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297881] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297883] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297886] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297888] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70343.297890] __vm_enough_memory: pid: 11282, comm: Isolated Web Co, no enough memory for the allocation
[70591.470393] __vm_enough_memory: 4076 callbacks suppressed
[70591.470399] __vm_enough_memory: pid: 590218, comm: Sandbox Forked, no enough memory for the allocation
[70591.470842] __vm_enough_memory: pid: 590219, comm: .firefox-wrappe, no enough memory for the allocation
[70591.472835] Sandbox Forked[590218]: segfault at 0 ip 00007f0b6bb85322 sp 00007f0b489fc330 error 6 in libxul.so[7f0b69795000+567f000] likely on CPU 6 (core 2, socket 0)
[70591.472856] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[70591.476975] __vm_enough_memory: pid: 3839, comm: IPC Launch, no enough memory for the allocation
[70595.363188] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.364372] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365027] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365059] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365065] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365069] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365075] __vm_enough_memory: pid: 590255, comm: (sd-parse-elf), no enough memory for the allocation
[70595.365080] (sd-parse-elf)[590255]: segfault at 8 ip 00007fae87764adc sp 00007fff32711db0 error 6 in libdw-0.190.so[7fae8771b000+52000] likely on CPU 4 (core 0, socket 0)
[70595.365089] Code: 00 00 00 4c 8d 15 71 8d 02 00 4c 89 54 24 58 e8 ba 6c fb ff 4c 8b 54 24 58 48 85 c0 49 89 c7 0f 84 d9 09 00 00 48 8b 44 24 28 <41> c7 47 08 ff ff ff ff 4c 89 d6 49 8d 7f 31 49 c7 47 10 00 00 00
[70595.513576] DOM Worker[590203]: segfault at 0 ip 00007fa8a0626762 sp 00007fa8940fdd80 error 4 in libxul.so[7fa8a0395000+567f000] likely on CPU 0 (core 0, socket 0)
[70595.513593] Code: 09 ff 15 21 9f 88 05 4c 8b 3b 48 89 6b 08 48 c7 43 10 00 00 00 00 4c 89 63 58 31 c0 48 8b 4c 24 08 e9 dc fe ff ff 49 8b 45 08 <4c> 8b 30 4d 85 f6 0f 85 b8 fe ff ff 48 8d 05 e2 1c 79 fe 48 8b 0d
[72714.610752] __vm_enough_memory: 4071 callbacks suppressed
[72714.610755] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610762] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610765] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610766] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610793] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610798] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610800] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610802] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610804] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[72714.610805] __vm_enough_memory: pid: 622703, comm: python3.11, no enough memory for the allocation
[152767.089470] __vm_enough_memory: 215447 callbacks suppressed
[152767.089474] __vm_enough_memory: pid: 1289576, comm: Sandbox Forked, no enough memory for the allocation
[152767.093725] __vm_enough_memory: pid: 1289577, comm: .firefox-wrappe, no enough memory for the allocation
[152767.096522] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096529] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096532] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096534] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096537] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096539] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096541] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.096544] __vm_enough_memory: pid: 1288786, comm: Isolated Web Co, no enough memory for the allocation
[152767.099024] Sandbox Forked[1289576]: segfault at 0 ip 00007f64d4185322 sp 00007f64b0ebd330 error 6 in libxul.so[7f64d1d95000+567f000] likely on CPU 2 (core 2, socket 0)
[152767.099040] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[152779.207307] __vm_enough_memory: 2775 callbacks suppressed
[152779.207311] __vm_enough_memory: pid: 622934, comm: IPC Launch, no enough memory for the allocation
[152779.586601] __vm_enough_memory: pid: 1289754, comm: Sandbox Forked, no enough memory for the allocation
[152779.586854] __vm_enough_memory: pid: 622934, comm: IPC Launch, no enough memory for the allocation
[152779.596993] Sandbox Forked[1289754]: segfault at 0 ip 00007f64d4185322 sp 00007f64b0ebd330 error 6 in libxul.so[7f64d1d95000+567f000] likely on CPU 3 (core 3, socket 0)
[152779.597005] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[153355.717655] __vm_enough_memory: pid: 1294484, comm: .org.gnome.Naut, no enough memory for the allocation
[153355.724908] __vm_enough_memory: pid: 1294484, comm: .org.gnome.Naut, no enough memory for the allocation
[153355.724914] __vm_enough_memory: pid: 1294484, comm: .org.gnome.Naut, no enough memory for the allocation
[153355.724916] __vm_enough_memory: pid: 1294484, comm: .org.gnome.Naut, no enough memory for the allocation
[168502.866447] __vm_enough_memory: pid: 1419473, comm: Sandbox Forked, no enough memory for the allocation
[168502.879177] Sandbox Forked[1419473]: segfault at 0 ip 00007f64d4185322 sp 00007f64b0ebd330 error 6 in libxul.so[7f64d1d95000+567f000] likely on CPU 3 (core 3, socket 0)
[168502.879192] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[168504.721054] __vm_enough_memory: pid: 622934, comm: IPC Launch, no enough memory for the allocation
[168760.052354] __vm_enough_memory: pid: 1421616, comm: Sandbox Forked, no enough memory for the allocation
[168760.058708] __vm_enough_memory: pid: 622859, comm: .firefox-wrappe, no enough memory for the allocation
[168760.058715] __vm_enough_memory: pid: 622859, comm: .firefox-wrappe, no enough memory for the allocation
[168760.058738] __vm_enough_memory: pid: 622859, comm: .firefox-wrappe, no enough memory for the allocation
[168760.058745] __vm_enough_memory: pid: 622859, comm: .firefox-wrappe, no enough memory for the allocation
[168760.058746] __vm_enough_memory: pid: 622859, comm: .firefox-wrappe, no enough memory for the allocation
[168760.065988] Sandbox Forked[1421616]: segfault at 0 ip 00007f64d4185322 sp 00007f64b0ebd330 error 6 in libxul.so[7f64d1d95000+567f000] likely on CPU 0 (core 0, socket 0)
[168760.065998] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[168766.575425] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575443] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575446] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575448] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575451] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575453] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575455] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575457] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575459] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575461] __vm_enough_memory: pid: 1421685, comm: (sd-parse-elf), no enough memory for the allocation
[168766.575669] (sd-parse-elf)[1421685]: segfault at 8 ip 00007f1cc8a9dadc sp 00007fff7c11d3a0 error 6 in libdw-0.190.so[7f1cc8a54000+52000] likely on CPU 3 (core 3, socket 0)
[168766.575678] Code: 00 00 00 4c 8d 15 71 8d 02 00 4c 89 54 24 58 e8 ba 6c fb ff 4c 8b 54 24 58 48 85 c0 49 89 c7 0f 84 d9 09 00 00 48 8b 44 24 28 <41> c7 47 08 ff ff ff ff 4c 89 d6 49 8d 7f 31 49 c7 47 10 00 00 00
[168766.661472] .gnome-shell-wr[2013]: segfault at 38 ip 00007fbabf199468 sp 00007ffff9ac2200 error 6 in crocus_dri.so[7fbabe094000+11db000] likely on CPU 6 (core 2, socket 0)
[168766.661486] Code: 66 90 55 48 89 fd 53 48 89 f3 48 89 d6 89 ca 48 83 ec 08 48 8b 47 08 48 8b b8 e0 06 00 00 e8 af f8 fe ff 66 0f ef c0 48 89 03 <48> 81 48 38 80 00 00 00 0f 11 43 18 80 bd c8 00 00 00 00 c7 43 28
[170015.617311] __vm_enough_memory: 120 callbacks suppressed
[170015.617317] __vm_enough_memory: pid: 1423004, comm: IPC Launch, no enough memory for the allocation
[170015.617578] __vm_enough_memory: pid: 1441535, comm: TaskCon~ller #2, no enough memory for the allocation
[170015.617899] __vm_enough_memory: pid: 1441535, comm: TaskCon~ller #2, no enough memory for the allocation
[170015.620276] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620292] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620296] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620300] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620303] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620307] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170015.620312] __vm_enough_memory: pid: 1441538, comm: TaskCon~ller #5, no enough memory for the allocation
[170024.500384] __vm_enough_memory: 10 callbacks suppressed
[170024.500395] __vm_enough_memory: pid: 1422979, comm: Renderer, no enough memory for the allocation
[170024.500399] __vm_enough_memory: pid: 1422979, comm: Renderer, no enough memory for the allocation
[170024.502299] __vm_enough_memory: pid: 1422979, comm: Renderer, no enough memory for the allocation
[170024.502303] __vm_enough_memory: pid: 1422979, comm: Renderer, no enough memory for the allocation
[170024.503204] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.503211] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.503256] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.503258] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.503652] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.503655] __vm_enough_memory: pid: 1441645, comm: .firefox:gdrv0, no enough memory for the allocation
[170024.521595] .gnome-shell-wr[1422358]: segfault at 38 ip 00007f8027199468 sp 00007ffdb43f9aa0 error 6 in crocus_dri.so[7f8026094000+11db000] likely on CPU 5 (core 1, socket 0)
[170024.521606] Code: 66 90 55 48 89 fd 53 48 89 f3 48 89 d6 89 ca 48 83 ec 08 48 8b 47 08 48 8b b8 e0 06 00 00 e8 af f8 fe ff 66 0f ef c0 48 89 03 <48> 81 48 38 80 00 00 00 0f 11 43 18 80 bd c8 00 00 00 00 c7 43 28
[170387.862898] __vm_enough_memory: 52 callbacks suppressed
[170387.862901] __vm_enough_memory: pid: 1443246, comm: IPC Launch, no enough memory for the allocation
[170834.102309] __vm_enough_memory: pid: 1450011, comm: Sandbox Forked, no enough memory for the allocation
[170834.102746] Sandbox Forked[1450011]: segfault at 0 ip 00007f4ed3f85322 sp 00007f4eb0afe330 error 6 in libxul.so[7f4ed1b95000+567f000] likely on CPU 3 (core 3, socket 0)
[170834.102756] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[170834.104131] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104138] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104142] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104146] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104159] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104162] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104165] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104169] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.104172] __vm_enough_memory: pid: 1449955, comm: TaskCon~ller #7, no enough memory for the allocation
[170834.109927] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.110328] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.133854] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134262] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134380] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134394] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134405] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134416] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134428] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.134439] Huh VM_FAULT_OOM leaked out to the #PF handler. Retrying PF
[170834.356940] Isolated Web Co[1446322]: segfault at 0 ip 00007fa752eac8d7 sp 00007ffd6b26c170 error 6 in libxul.so[7fa74e595000+567f000] likely on CPU 7 (core 3, socket 0)
[170834.356955] Code: 8b 38 48 8d 35 35 0d f5 f9 48 8d 0d a8 87 e7 f9 4c 89 f2 41 b8 02 05 00 00 31 c0 e8 83 bc d5 00 48 8b 05 0c 3e 20 01 4c 89 30 <c7> 04 25 00 00 00 00 04 05 00 00 e8 e9 b4 d5 00 cc cc cc cc cc cc
[170864.253528] __vm_enough_memory: 5028 callbacks suppressed
[170864.253532] __vm_enough_memory: pid: 1450340, comm: Sandbox Forked, no enough memory for the allocation
[170864.255492] __vm_enough_memory: pid: 1450317, comm: TaskCon~ller #7, no enough memory for the allocation
[170864.267303] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.267975] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268096] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268437] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268440] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268467] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268477] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.268479] __vm_enough_memory: pid: 1443177, comm: .firefox-wrappe, no enough memory for the allocation
[170864.269791] Sandbox Forked[1450340]: segfault at 0 ip 00007f4ed3f85322 sp 00007f4eb0afe330 error 6 in libxul.so[7f4ed1b95000+567f000] likely on CPU 2 (core 2, socket 0)
[170864.269801] Code: 8b 0d e2 b3 72 03 48 89 01 c7 04 25 00 00 00 00 9b 02 00 00 e8 bf 2a 28 03 48 8d 05 8f 6f 4e fc 48 8b 0d c1 b3 72 03 48 89 01 <c7> 04 25 00 00 00 00 70 02 00 00 e8 9e 2a 28 03 48 8d 15 e9 24 50
[171165.508437] __vm_enough_memory: 6 callbacks suppressed
[171165.508440] __vm_enough_memory: pid: 1442321, comm: pool-spawner, no enough memory for the allocation
[171165.508476] __vm_enough_memory: pid: 1442321, comm: pool-spawner, no enough memory for the allocation
[171165.508498] __vm_enough_memory: pid: 1442321, comm: pool-spawner, no enough memory for the allocation
[171165.511514] __vm_enough_memory: pid: 1452853, comm: chromium, no enough memory for the allocation
[171165.511573] __vm_enough_memory: pid: 1452853, comm: chromium, no enough memory for the allocation
[171165.511693] __vm_enough_memory: pid: 1451347, comm: chrome_crashpad, no enough memory for the allocation
[171165.511706] __vm_enough_memory: pid: 1451347, comm: chrome_crashpad, no enough memory for the allocation
[171165.511858] __vm_enough_memory: pid: 1451349, comm: chrome_crashpad, no enough memory for the allocation
[171165.511862] __vm_enough_memory: pid: 1451349, comm: chrome_crashpad, no enough memory for the allocation
[171165.523896] __vm_enough_memory: pid: 1442336, comm: JS Helper, no enough memory for the allocation
[171170.688552] traps: ThreadPoolForeg[1452516] trap invalid opcode ip:55ed3562ee16 sp:7fe5e59fbce0 error:0 in chromium[55ed2f9ea000+d5e1000]
[171171.342759] __vm_enough_memory: 27 callbacks suppressed
[171171.342762] __vm_enough_memory: pid: 1453224, comm: (sd-parse-elf), no enough memory for the allocation
[171171.350324] __vm_enough_memory: pid: 1453224, comm: (sd-parse-elf), no enough memory for the allocation
[171171.350328] __vm_enough_memory: pid: 1453224, comm: (sd-parse-elf), no enough memory for the allocation
[171171.350331] __vm_enough_memory: pid: 1453224, comm: (sd-parse-elf), no enough memory for the allocation
I don't know how these crashes make sense in software that also builds for Windows, which as far as I know does not overcommit memory.
R
have trouble on OpenBSD because they want large amounts of virtual memory and OpenBSD says nope. Those same packages are fine on Linux and do not cause the crazy drunk oom killer to start blasting away at the process table. – thrig May 02 '18 at 19:15madvise
. The kernel usually gets the hint automatically anyway, by keeping a count of which pages have been recenlty used and which have not. TheMAP_NORESERVE
flag to themmap
system call only means no swap space is reserved for the mapping, it does not disable demand paging. – Johan Myréen May 03 '18 at 07:33malloc
(actuallymmap
) could fail when there is plenty of virtual memory still available (and of course when there is no limit thrusetrlimit
) – Basile Starynkevitch May 03 '18 at 08:04