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