Получить информацию о системе на уровне ОС
Пакет java.lang.management дает вам намного больше systems информации, чем Runtime — например, он j2se предоставляет вам память systems в куче (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
), отдельную от памяти jdk без кучи (ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()
).
Вы также можете resource получить загрузку процессора java-libraries процессом (без написания system собственного кода JNI), но jre вам нужно преобразовать java.lang.management.OperatingSystemMXBean
в j2se com.sun.management.OperatingSystemMXBean
. Это работает в Windows core-java и Linux, я не проверял это java-api в другом месте.
Например... чаще java-se вызывайте метод getCpuUsage(), чтобы j2se получать более точные показания.
public class PerformanceMonitor {
private int availableProcessors = getOperatingSystemMXBean().getAvailableProcessors();
private long lastSystemTime = 0;
private long lastProcessCpuTime = 0;
public synchronized double getCpuUsage()
{
if ( lastSystemTime == 0 )
{
baselineCounters();
return;
}
long systemTime = System.nanoTime();
long processCpuTime = 0;
if ( getOperatingSystemMXBean() instanceof OperatingSystemMXBean )
{
processCpuTime = ( (OperatingSystemMXBean) getOperatingSystemMXBean() ).getProcessCpuTime();
}
double cpuUsage = (double) ( processCpuTime - lastProcessCpuTime ) / ( systemTime - lastSystemTime );
lastSystemTime = systemTime;
lastProcessCpuTime = processCpuTime;
return cpuUsage / availableProcessors;
}
private void baselineCounters()
{
lastSystemTime = System.nanoTime();
if ( getOperatingSystemMXBean() instanceof OperatingSystemMXBean )
{
lastProcessCpuTime = ( (OperatingSystemMXBean) getOperatingSystemMXBean() ).getProcessCpuTime();
}
}
}
java
memory
resources
system
Получить информацию о системе на уровне ОС
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.