Використання процесора не є простим - java.lang.management через com.sun.management.OperatingSystemMXBean.getProcessCpuTime наближається (див. Чудовий фрагмент коду Патріка вище), але зауважте, що він надає доступ лише до часу, який процесор витратив у вашому процесі. він не розповість вам про час процесора, витрачений на інші процеси, або навіть час процесора, витрачений на виконання системних дій, пов’язаних із вашим процесом.
Наприклад, у мене є інтенсивний Java-процес - це єдине, що працює, і процесор знаходиться на 99%, але лише 55% від них повідомляється як "процесор процесора".
навіть не запускайте мене з "середнього завантаження", оскільки це поруч із марним, незважаючи на те, що це єдиний елемент, що стосується процесора на бобі MX. якби тільки сонце в їх випадковій мудрості викривало щось на кшталт "getTotalCpuTime" ...
для серйозного моніторингу процесора SIGAR, згаданий Меттом, здається найкращою ставкою.
Runtime.getRuntime().freeMemory()
як це пропонується у прийнятій відповіді, НЕ дається вам кількість вільної пам’яті.