Como o Windows lida com a memória de processo ou esgotamento de recursos?
Como um programa se comporta sob "condições de estresse" depende de como o programa específico foi escrito (quais privilégios ele possui, contém bugs, etc.) e esse comportamento determinará como o restante do sistema é afetado quando algo " está errado ".
É possível que os dados possam ser perdidos. É possível que o sistema trave com um BSOD ou simplesmente não consiga gravar dados por causa de um erro delayed write failed
.
Empurrando os limites do Windows
A série de posts do blog de Mark Russinovich (a partir de Empurrando os limites do Windows : Memória física entra neste tópico com algum detalhe.
Em particular, em Empurrando os limites do Windows: Conjunto paginado e não paginado , ele ilustra o efeito da execução de um programa de teste:
If you want to witness first hand how a system behaves when pool runs low, use the Notmyfault tool. It has options that cause it to leak either nonpaged or paged pool in the increment that you specify. You can change the leak size while it’s leaking if you want to change the rate of the leak and Notmyfault frees all the leaked memory when you exit it
Em um sistema de teste, ele disse sobre os resultados:
On one test system, I eventually saw this error message indicating that data had potentially been lost. I hope you never see this dialog on a real system!
Leitura Adicional
Windows Internals, 6ª edição , de Mark Russinovich, contém muito mais informações sobre como o Windows funciona sob o capô.