2015-04-29 3 views
0

В настоящее время работает в проекте smartGWT, где он потребляет много памяти, когда приложение выполняет любые операции загрузки и обновления CRUD или Grid и приложение, развернутое на сервере tomcat 7.0. Я пробовал спецификацию потока и ограничение памяти в tomcat, но он не будет работать. Не могли бы вы предложить способ избежать утечки памяти. в ожидании вашего ответа.Приложение приводит к утечке памяти

+0

Принять ответ ниже, если вы получаете адекватную информацию, чтобы этот вопрос не будет отображаться в разделе без ответа. –

ответ

0

Во избежание утечки памяти. Мы должны получить информацию об объектах, размещенных в приложении. Если вы используете IBM JDK, тогда JVM будет собирать javacore, системное ядро ​​и snaptrace, когда JVM выбрасывает OutOfMemory. Пока система не выбрасывает OOM, мы не получим четкую картину распределения объектов и шаблона распределения.

Пример: если вы берете systemcore в середине времени выполнения приложения. Есть возможности, которые GC еще предстоит запустить для очистки мертвых объектов, поэтому текущий снимок может не дать полной картины распределения приложения. Когда JVM выбрасывает OOM, это означает, что GC включен, и вся возможная коллекция мертвых объектов берется так, чтобы анализ существующих объектов в куче отражал истинную информацию о куче java.

Как только вы собираете журналы, загрузите ядро ​​системы в инструмент анализатора памяти. https://www.ibm.com/developerworks/java/jdk/tools/memoryanalyzer/ Это поможет вам идентифицировать утечки.

Если вы используете Oracle JDK, пожалуйста, следуйте http://www.oracle.com/technetwork/java/javase/memleaks-137499.html