Há pouco tempo, por curiosidade, escrevi um programa Java que ocupa muita memória muito rapidamente. (Ele adiciona BufferedImages a uma lista de matrizes em um loop.)
Eu mantive o Windows System Monitor aberto para observar o uso da RAM durante a execução.
Quando iniciei o programa, o uso da RAM aumentou muito rapidamente e, atingindo cerca de 100% dos meus 6 GB de RAM, meu computador ficou extremamente lento. Após cerca de um minuto, consegui encerrar o programa e meu computador recuperou lentamente a velocidade. O que me chamou a atenção foi que o uso da memória caiu lentamente lentamente e, de repente, caiu para quase 0 MB antes de voltar ao uso ocioso, em torno de 2 a 2,5 GB.
Tirei uma captura de tela do uso de RAM no System Monitor:
Fiquei me perguntando se alguém poderia explicar o que acontece quando o computador fica sem memória e por que ele não volta ao modo inativo logo após o término do programa, mas cerca de 60 segundos depois? Além disso, por que o uso é reduzido a nada em vez de apenas uso ocioso?