Если ваше приложение может запускать сервер JMX (что, как я полагаю, подразумевается при использовании вами jconsole / jvisualvm), то вы можете вызывать операцию Memory MBean gc
через утилиты командной строки.
* 1003Во-первых, вам понадобится какой-нибудь JMX-клиент для командной строки.Я использовал
этот в прошлом для простых вызовов командной строки, и он работал нормально.(Изменить: Фактически я использовал его только сейчас, чтобы протестировать следующую команду, и он успешно вызвал GC для локального процесса Tomcat)
Затем вам нужно будет разработать команду для запуска сборки мусора.Я думаю, что это должно работать (вам, конечно, нужно изменить хосты / порты / учетные данные соответствующим образом):
java -jar cmdline-jmxclient-X.X.jar - localhost:8081 java.lang:type=Memory gc
Наконец, вы можете запланировать вызов этой команды через cron
или эквивалентный.
Вуаля!