Estoy trabajando en una aplicación grande (300K LOC) que está causando una pérdida de memoria en Sun 1.6 JVM (1.6_05). El perfil de Java no muestra fugas. ¿Hay algún diagnóstico disponible de la JVM que pueda detectar la causa de la fuga?
No he podido crear un caso de prueba Java simple y aislado. ¿Es la única forma de resolver esto usando un analizador de montón C en la JVM?
La aplicación crea un conjunto de sockets y realiza una cantidad significativa de E/S de red.¿Cómo se diagnostica una fuga en la memoria C causada por un programa Java?
6
A
Respuesta
2
Algunos perfiladores como profiler4j pueden mostrar la memoria gestionada y la no gestionada (curva viva). Luego puede ver si tiene una fuga y cuándo ocurre la fuga. Pero no encuentras más información.
Después de esto hay 2 posibles soluciones:
- Puede con la curva vivo aislar el problema y crear una prueba más simple hasta que tenga a encontrar la causa del problema.
- usted busca el código de los problemas típicos como:
- Las instancias de la clase Thread que nunca se inicia.
- imágenes o gráficos que no son nunca disponer
- Objetos puente ODBC que no están cerca
0
Me encanta valgrind (http://valgrind.org/), si se está ejecutando en un sistema que soporta. Realmente rocas!
Cuestiones relacionadas
- 1. ¿Se ha filtrado la memoria (fuga de actividad) causada por CookieSyncManager?
- 2. ¿cómo se diagnostica un kernel?
- 3. ¿Una fuga de memoria de la aplicación causa una fuga de memoria en el sistema operativo?
- 4. Fuga de memoria en C++
- 5. ¿Cómo encontrar la fuga de memoria en Java con JProfiler?
- 6. ¿La eliminación de un JFrame causa una fuga de memoria?
- 7. ¿Cómo rastrear una fuga de memoria mod_perl?
- 8. C# WPF BitmapSource ¿Fuga de memoria?
- 9. ¿Un programa C++ libera automáticamente la memoria cuando se bloquea?
- 10. Posible fuga de memoria?
- 11. Android: ¿Cómo probar la fuga de memoria en una aplicación?
- 12. ¿Por qué un programa Java vacío consume memoria?
- 13. Fuga de Java JNI en el proceso C++
- 14. ¿Por qué cambiar la mónada Data.Binary.Put en un transformador crea una fuga de memoria?
- 15. Fuga de memoria IE9
- 16. ¿Se ha aceptado alguna fuga de memoria en iOS?
- 17. No se puede detectar la excepción causada por C dll llamada a través de PInvoke
- 18. Cómo obtener la memoria utilizada por un programa Delphi
- 19. Se detectó fuga de memoria Swig/Python
- 20. Cómo solucionar una fuga de memoria en PHP
- 21. Fuga de memoria en Swing
- 22. Fuga de memoria en modo mixto Aplicación C++/CLR
- 23. Fuga de memoria Java/Tomcat en RedHat Linux?
- 24. ¿Cómo ejecutar un programa Java desde C#?
- 25. Fuga de memoria para CComBSTR
- 26. Cómo prevenir una fuga de memoria en cuarzo
- 27. ¿Fuga de memoria informada por valgrind en dlopen?
- 28. Fuga de memoria con ContextMenuStrip
- 29. La mejor definición de fuga de memoria
- 30. Fuga de memoria no administrada