What the system will do with the remaining 20%?
O kernel usará a memória física restante para seus próprios propósitos (estruturas internas, tabelas, buffers, caches, o que for). A configuração de supercomprometimento de memória manipula reservas de memória virtual do aplicativo userland, o kernel não usa memória virtual, mas físico.
Why is this parameter required in first place?
O parâmetro overcommit_ratio
é uma opção de implementação projetada para impedir que os aplicativos reservem mais memória virtual do que o que estará razoavelmente disponível para eles no futuro, ou seja, quando eles realmente acessam a memória (ou pelo menos tentam).
A configuração de overcommit_ratio
para 50% foi considerada um valor padrão razoável pelos desenvolvedores do kernel do Linux. Ele supõe que o kernel nunca precisará usar mais de 50% da RAM física. Sua milhagem pode variar, a razão pela qual é um ajuste.
Why I should not always set it to 100%?
Configurar para 100% (ou qualquer valor "muito alto") não desabilita o supercomprometimento de forma confiável porque você não pode assumir que o kernel usará 0% (ou muito pouco) de RAM.
Ele não impedirá que os aplicativos travem, já que o kernel pode se apropriar de qualquer maneira de toda a memória física que ele exige.