Я хотел бы, чтобы некоторые долгосрочные серверные приложения периодически выводили общие значения производительности GC на Java, что-то вроде GC-эквивалента Runtime.freeMemory() и т.д. Что-то вроде количества выполненных циклов, среднего времени и т.д.
У нас есть системы, работающие на машинах клиентов, где есть подозрение, что неверно сконфигурированные пулы памяти вызывают чрезмерную частоту и длину GC - мне кажется, что в целом было бы полезно периодически сообщать о основной деятельности GC.
Есть ли какой-либо независимый от платформы способ сделать это?
EDIT: я специально хочу выводить эти данные в системный журнал (консоль) во время работы; это не то, что я хочу подключить к JVM для, как это было бы с JConsole или JVisualVM.
Edit2: MX bean выглядит так, как я хочу - есть ли у кого-нибудь пример рабочего кода, который получает один из них?