¿Cómo me entero de programación mi uso del espacio PermGen?
-
22-08-2019 - |
Pregunta
Estoy tratando de diagnosticar un error de java.lang.OutOfMemoryError: PermGen Space
cuando se ejecuta en la JVM de Sun hotspot, y me gustaría saber cuánto espacio PermGen mi programa está utilizando en varios puntos. ¿Hay una manera de descubrir esta información mediante programación?
Solución
Puede usar algo como esto:
Iterator<MemoryPoolMXBean> iter = ManagementFactory.getMemoryPoolMXBeans().iterator();
while (iter.hasNext())
{
MemoryPoolMXBean item = iter.next();
String name = item.getName();
MemoryType type = item.getType();
MemoryUsage usage = item.getUsage();
MemoryUsage peak = item.getPeakUsage();
MemoryUsage collections = item.getCollectionUsage();
}
Esto le dará a todos los tipos de memoria. Usted está interesado en el tipo "Perm Gen".
Otros consejos
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow