¿Por qué los programas (JVM) fallan cuando todavía hay mucho espacio disponible en el archivo de paginación?

¿Por qué los programas (JVM) fallan cuando todavía hay mucho espacio disponible en el archivo de paginación?

Entonces, una pregunta muy simple. Con mi máquina de desarrollo con RAM limitada (8 GB de RAM, Win 7 x64, 8 GB de archivo de paginación), cuando me quedo sin RAM disponible, los programas primero comienzan a ralentizarse y finalmente fallan. La mayoría de las veces, JVM falla primero y muy felizmente. ¿Cómo es esto posible? Es como si no hubiera ningún archivo de paginación, pero cuando llego al octavo gigas de RAM usada, la JVM (y a veces también otros programas) falla casi instantáneamente.

Sí, conozco muy bien todos los mecanismos de paginación implementados principalmente por HW, que una vez más debería funcionar con el archivo de paginación como si hubiera mucha RAM disponible y no supiera nada sobre el archivo de paginación que se está utilizando o incluso que existe. Entonces, ¿por qué observo comportamientos muy diferentes?

Respuesta1

¿Puedes ejecutar jprofiler e investigar la memoria del montón? Además, no está claro el requisito de memoria para el programa Java en ejecución. Por lo general, 8 GB de RAM se consideran decentes. Si el programa Java está creando muchos subprocesos y los subprocesos no finalizan, entonces podría causar todos estos problemas. Consulte el programa Java para conocer la cantidad de objetos creados y la naturaleza de los subprocesos.

información relacionada