Как программно использовать процесс /JVM в Java
Я пытаюсь контролировать все запущенные виртуальные машины Java.
К сожалению, я не смог найти способ надежно получить информацию об использовании процессора (например, в процентах) конкретных процессов или виртуальных машин.
Я знаю о SIGAR, но вызов ProcCpu getPercent() совсем не надежен. (для получения результата необходимо несколько вызовов)
До сих пор мне удалось получить список PID для всех виртуальных машин.
Должен быть кросс-платформенный подход, если это возможно (по крайней мере, Windows и Linux).
редактировать: я более внимательно изучил подход, на который ссылается Fraser, но не мог понять, как получить доступ к моей виртуальной машине, используя
ObjectName.getInstance("java.lang:type=OperatingSystem");
Если я не ошибаюсь, возможен только доступ к (java) процессам, которые вы запустили и зарегистрировали самостоятельно.