example - memory leaks java
¿Cómo puedo averiguar de manera programática el uso de mi espacio PermGen? (2)
Estoy intentando diagnosticar un error java.lang.OutOfMemoryError: PermGen Space
cuando se ejecuta en Sun''s Hotspot JVM, y me gustaría saber cuánto espacio PermGen está usando mi programa en varios puntos. ¿Hay alguna forma de averiguar esta información programáticamente?
Puedes 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 te dará todo tipo de memoria. Usted está interesado en "Perm Gen" tipo.