Por que os programas (JVM) travam enquanto ainda há bastante espaço disponível no arquivo de paginação?

Por que os programas (JVM) travam enquanto ainda há bastante espaço disponível no arquivo de paginação?

Então, uma pergunta muito simples, de fato. Com minha máquina de desenvolvimento com RAM limitada (8 GB de RAM, Win 7 x64, 8 GB de arquivo de paginação), quando fico sem RAM disponível, os programas começam a ficar lentos e, eventualmente, travam. Na maioria das vezes, a JVM trava primeiro e com muita felicidade. Como isso é possível? É como se não houvesse nenhum arquivo de paginação, mas quando cheguei ao 8º show de RAM usada, a JVM (e às vezes outros programas também) travou quase instantaneamente.

Sim, conheço muito bem todos os mecanismos de paginação implementados principalmente por HW, que mais uma vez devem funcionar com o arquivo de paginação como se houvesse bastante RAM disponível, sem saber nada sobre o arquivo de paginação que está sendo usado ou mesmo existente. Então, por que eu realmente observo comportamentos muito diferentes?

Responder1

Você pode executar o jprofiler e investigar a memória heap. Também não está claro o requisito de memória para o programa Java em execução. Normalmente, 8 GB de RAM são considerados decentes. Se o programa Java estiver criando muitos threads e os threads não forem finalizados, isso poderá causar todos esses problemas. Por favor, verifique o programa Java para saber a quantidade de objetos criados e a natureza do threading.

informação relacionada