Вы должны умножить на 100 и преобразовать в целое, смотреть на JavaDocs:
Возвращает «недавнее использование центрального процессора» для всей системы. Это значение равно двойным в интервале [0.0,1.0]. Значение 0.0 означает, что все процессоры были свободны в течение последнего периода времени, а значение 1.0 означает, что все процессоры активно работали в течение 100% времени в течение наблюдаемого последнего периода. Все значения между 0.0 и 1.0 равны в зависимости от действий, происходящих в системе. Если система недавнего использования процессора недоступна, метод возвращает отрицательное значение .
Будьте осторожны с количеством CPU, которое у вас есть в вашей системе, так как оно является репрезентативным для всего процессора, доступного в вашей системе.
Взгляните на этот вспомогательный метод для масштабирования значение, которое вы получите в процентах:
public static short getLoadAndScaleToPercent(Method method, OperatingSystemMXBean osMxBean) {
if (method != null) {
try {
double load = (double) method.invoke(osMxBean);
if (load >= 0) {
return (short) (load * 100);
}
} catch (Throwable t) {
return -1;
}
}
return -1;
}