2017-02-21 34 views
-1

У меня есть приложение, в котором я должен показать cpu & использование плунжера, я пробовал так много вещей, но не получил никакого точного решения. Итак, окончательно с программным запросом на использование ЦП невозможно использовать чистую Java. Там просто нет API для этого на блогеесть ли какой-либо прямой метод в JDK, чтобы получить использование ЦП на компьютере либо его mac, windows или linux?

Блог ссылка: http://www.javaworld.com/article/2077361/learn-java/profiling-cpu-usage-from-within-a-java-application.html

.

Что я пробовал (я использую Java 1.8):

OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); 
System.out.println("========="+ osBean.getSystemLoadAverage()); 

MemoryMXBean bean = ManagementFactory.getMemoryMXBean(); 
System.out.println("######"+ bean.getNonHeapMemoryUsage()); 

ThreadMXBean mxbean = ManagementFactory.getThreadMXBean(); 
System.out.println("========="+ mxbean.getCurrentThreadCpuTime()); 
+1

Пожалуйста, не отправляйте спам на свои вопросы. Например, это не имеет никакого отношения к Oracle. – mathguy

+0

Downvoters, пожалуйста, укажите причину для вашего downvote. – Dev

+1

Dev - Я полностью согласен с вашим запросом на downvoters, чтобы объяснить их причины. (Я бы даже выступал за SO, чтобы сделать это требование, даже если это анонимные комментарии, что может быть причиной для кода для сайта). Для записи я не использую ни одного слова для спам-тегов, я просто прокомментирую это. У вас есть ** два ** спутника, которые не объяснили, что они нашли не так с вашим вопросом. Обратите внимание, что в то же время большинство downvoters ** не ** объясняют свои голоса. – mathguy

ответ

2

Ну, я должен был сделать что-то подобное, что иногда назад, и я не нашел простой и родной способ сделать это.

После некоторого исследования я нашел довольно классную библиотеку, которая может быть использована для такого рода задач и поддерживает большое количество ОС. Вы должны взглянуть на here в OSHI, бесплатную JNA-based (родную) операционную систему и библиотеку информации об оборудовании для Java.