Quais são as mudanças necessárias no kernel .config
para um kernel com kswapd0 desativado? ie. Quais opções para garantir que existem dentro do kernel .config
arquivo de tal forma que ele constrói com kswapd0 desativado?
O objetivo disto é evitar o que o comentarista desta resposta diz, para reproduzi-lo aqui diz:
For example, consider a case where you have zero swap and system is nearly running out of RAM. The kernel will take memory from e.g. Firefox (it can do this because Firefox is running executable code that has been loaded from disk - the code can be loaded from disk again if needed). If Firefox then needs to access that RAM again N seconds later, the CPU generates "hard fault" which forces Linux to free some RAM (e.g. take some RAM from another process), load the missing data from disk and then allow Firefox to continue as usual. This is pretty similar to normal swapping and kswapd0 does it. – Mikko Rantalainen Feb 15 at 13:08
(também encontrou alguém explicando aqui - veja esses comentários mencionando 95%)
Eu pessoalmente encontrei este tipo de leitura constante de disco (acima de 192MiB / seg) por minutos (antes de pará-lo pausando a VM) bem antes de o OOM ser acionado para matar o processo de monopolizar a memória; Eu também vi isso acontecer no bare-metal, mas não tinha idéia no momento porque a surra de disco estava ocorrendo antes de ficar sem memória (sem troca alguma).
Pergunta inspirada na última linha desta resposta