Получить визуальный график использования кучи памяти в Java за промежуток времени - PullRequest
10 голосов
/ 30 ноября 2010

В настоящее время я использую Visual VM для мониторинга использования кучи памяти моего приложения Java.Однако я хотел бы как-то увидеть использование кучи памяти за определенный промежуток времени, например, за день, а не просто сделать снимок.потом, спустя один день, я могу вернуться и посмотреть на график.Есть ли способ сделать это с помощью Visual VM?Если да, то как?Если нет, какой инструмент я мог бы использовать для этого?

Ответы [ 2 ]

5 голосов
/ 30 ноября 2010

Запустите программу на Java со следующими параметрами Java:

-Xloggc:log.out -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

и загрузите HPjmeter для визуализации log.out.

Также см. SUN's GCпортал веб-страница для дополнительных опций для работы.Поскольку данные записываются в файл, у вас не возникнет проблем со сбором данных за несколько дней или недель.Конечно, если вы хотите визуализировать данные с большим количеством информации, вам нужно запустить HPjmeter с большим объемом памяти.

Другой вариант - использовать JConsole .

2 голосов
/ 30 ноября 2010

Попробуйте вкладку Память в JConsole.JConsole также входит в состав Oracle JDK, как и JVisualVM, поэтому он у вас уже должен быть.Он имеет временной диапазон «все», который должен работать для того, что вы хотите сделать.Это будет выглядеть так:

screenshot of jconsole

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...