Использование ЦП не является простым - java.lang.management через com.sun.management.OperatingSystemMXBean.getProcessCpuTime подходит близко (см. Превосходный фрагмент кода Патрика выше), но обратите внимание, что он дает только доступ ко времени, потраченному ЦП в вашем процесс. он не скажет вам о времени ЦП, затраченном на другие процессы, или даже о времени ЦП, затрачиваемом на выполнение системных операций, связанных с вашим процессом.
например, у меня интенсивный сетевой процесс java - он работает только на одном процессоре, и процессор загружен на 99%, но только 55% от этого числа указывается как «процессор процессора».
даже не заставляйте меня начинать с "средней нагрузки", поскольку она почти бесполезна, несмотря на то, что это единственный элемент, связанный с процессором, в компоненте MX. если бы только солнце в их редкой мудрости выставляло что-то вроде "getTotalCpuTime" ...
для серьезного мониторинга процессора SIGAR, упомянутый Мэттом, кажется лучшим выбором.