Я понимаю, что подобные вопросы были заданы до этого здесь, на SO, но позвольте мне точно описать, что мне нужно сделать:
У меня есть набор тестов, которые запускают приложение java командной строки, и я хотел бы добавить к ним профилирование памяти. Один из вариантов, который я вижу, - добавить код (возможно, с помощью сторонних инструментов/библиотек) в мое приложение, которое обеспечит моментальный снимок памяти. Другим вариантом будет использование стороннего инструмента, который управляет/использует мое приложение и JVM для меня (и в идеале не требует от меня изменения моего кода). Я думаю о чем-то вроде Valgrind, но для Java. Также с открытым исходным кодом, если это вообще возможно.
Что мне действительно нужно сделать, так это настроить тесты памяти, чтобы отслеживать использование памяти с регулярными интервалами, скажем каждую секунду и сбрасывать в текстовый файл. Таким образом, я смогу увидеть, будет ли использование памяти осциллировать/увеличиваться/уменьшаться с течением времени. Я также смогу вычислить максимальные и минимальные пики.
Кто-нибудь здесь сделал что-нибудь подобное?
Спасибо заранее.