Я тестировал свой webapp локально на своем компьютере и контролировал его с помощью VisualVM. Недавно я также начал использовать JMeter, так как мне было предложено провести нагрузочное тестирование, поскольку я подозревал, что у меня медленная утечка памяти.OutOfMemory Exception - как VisualVM поможет найти утечку памяти с помощью файла heapdump?
Сегодня мой webapp, наконец, выбрал исключение OutOfMemory
. У меня были параметры HeapDumpOnOutOfMemoryError
и HeapDumpPath
, если это произошло. Создан файл дампа кучи.
Я открыл этот файл (java_pid2760.hprof) в VisualVM, и если честно, я не понимаю, как я должен быть в состоянии точно определить виновника этой утечки памяти ...
Как вам использовать VisualVM для анализа дампа кучи и найти класс/экземпляр, который генерирует утечку памяти?
Возможный дубликат [Как проанализировать файл .hprof?] (http://stackoverflow.com/questions/185893/how-do-i-analyze-a-hprof-file) – meriton
также связан: http://stackoverflow.com/questions/2064456/how-much-memory-do-jprofiler-need-to-analysis-a-heap-dump-of-size-x , http://stackoverflow.com/questions/1795778/are-there- инструменты-to-analysis-large-java-heap-dumps-without-load-the-complete-hpr, http://stackoverflow.com/questions/2422868/how-to-analyze-heap-dumps – meriton
Мой вопрос был направлен при использовании VisualVM для определения утечки памяти. Этот продукт, который поставляется вместе с JDK, должен уметь, нет? Я ценю предложения использовать другие типы программного обеспечения, но поскольку у меня есть VisualVM, я бы хотел придерживаться его. Кто-нибудь использовал VisualVM для обнаружения утечки памяти? – katura