Recuerda que en las ciencias informáticas un error casi siempere suele tener más de una resoluciones, por lo tanto nosotros te mostramos lo más óptimo y mejor.
Solución:
Si realmente desea ver lo que sucede en la memoria de la VM, debe usar una buena herramienta como VisualVM. Esto es Software Libre y es una gran manera de ver lo que está pasando.
Nada es realmente “malo” con explícito gc()
llamadas Sin embargo, recuerda que cuando llames gc()
está “sugiriendo” que se ejecute el recolector de basura. No hay garantía de que se ejecutará en el momento exacto en que ejecuta ese comando.
Existen herramientas que le permiten monitorear el uso de memoria de la VM. La máquina virtual puede exponer estadísticas de memoria mediante JMX. También puede imprimir estadísticas del GC para ver el rendimiento de la memoria a lo largo del tiempo.
La invocación de System.gc() puede dañar el rendimiento del GC porque los objetos se moverán prematuramente de las generaciones nuevas a las antiguas y las referencias débiles se borrarán prematuramente. Esto puede resultar en una menor eficiencia de la memoria, tiempos de GC más largos y menos aciertos de caché (para cachés que usan referencias débiles). Estoy de acuerdo con su consultor: System.gc() es malo. Iría tan lejos como para deshabilitarlo usando el interruptor de línea de comando.
Puedes echar un vistazo a stagemonitor. Es un monitor de rendimiento de aplicaciones java (web) de código abierto. Captura métricas de tiempo de respuesta, métricas de JVM, detalles de solicitudes (incluida una pila de llamadas capturada por el perfilador de solicitudes) y más. Los gastos generales son muy bajos.
Opcionalmente, puede usar la excelente base de datos de series temporales Graphite para almacenar un largo historial de puntos de datos que puede consultar con tableros elegantes.
Ejemplo:
Eche un vistazo al sitio web del proyecto para ver capturas de pantalla, descripciones de características y documentación.
Nota: soy el desarrollador de stagemonitor
Aquí puedes ver las comentarios y valoraciones de los lectores
Si haces scroll puedes encontrar las notas de otros gestores de proyectos, tú incluso tienes el poder insertar el tuyo si lo crees conveniente.