2016-03-22 3 views
0

Я искал в Интернете возможность в java, чтобы выяснить, сколько процессора мне нужно, но, к сожалению, не удалось найти решение. Большинство людей упомянули «OperatingSystemMXBean», который работает на таких платформах, как linux, но не на окнах. Мое приложение будет работать на нескольких ОС, но в основном на Windows. Итак, есть ли способ вычислить использование java-приложения в одном и том же времени выполнения, которое является независимым от платформы или поддерживает несколько платформ, включая windows, mac и linux?Как вычислить использование java-процесса в java-процессе в java

Благодаря
Baschdi

+0

Вы можете найти ответ здесь: http://stackoverflow.com/questions/16840594/finding-the-average-cpu-usage-for-windows-machine-in-java –

ответ

-1

Это работает хорошо на окнах 10. Измерение процессора Util из скайпа:

c:\Windows\system32\typeperf "\Process(Skype)\% processor time" 
+0

Извините, но я попросил платформу независимый способ выяснить использование процессора java-приложения в java. Thats не тихий ответ я искал – Basti

1

Я не согласен с вашим утверждением. OperatingSystemMXBean доступен в Windows. Просто немного спрятано. Будьте осторожны с импортом упаковки. Это не по умолчанию, предлагаемое Eclipse.

import java.lang.management.ManagementFactory; 
import com.sun.management.OperatingSystemMXBean; 

public class Test { 

public static void main(String[] args) { 
    OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); 
    System.out.println(operatingSystemMXBean.getProcessCpuLoad()); 
}} 

Если вы запустите этот отрывок, вероятно, вы получите 0.0. Это не неисправность. Это очень простая программа, и загрузка процессора может занять некоторое время. Вы можете получить -1 при первых вызовах. Попробуйте в своем приложении, восстановив значение в разные моменты времени.

Если я не ошибаюсь, этот класс включен в rt.jar. У вас могут возникнуть проблемы с импортом пакета с Eclipse IDE. Здесь вы можете найти объяснение и как его исправить. Why is access restricted to jre6/lib/rt.jar for OperatingSystemMxBean?

+0

Это отлично работало для окон. Спасибо за ответ. Любые предложения о других операционных системах? Мне нужно поддерживать хотя бы Windows, Mac и Linux. Является ли com.sun.management.OperatingSystemMXBean доступным для них тоже и работает ли он? Кроме того, я использовал jdk8 для создания этого проекта, поэтому я даже не получил ограничение – Basti

+0

. Ограничение появляется только как предупреждение, если вы разрабатываете свой код с помощью Eclipse IDE. Я думаю, что этот компонент доступен в этих оперативных системах. Я тестировал его в Unix правильно, но не на Mac, но он включен в среду выполнения java. Если вы можете выполнить Java-код, у вас есть доступ к нему. – RubioRic

Смежные вопросы