Red de conocimiento informático - Material del sitio web - Cómo monitorear el uso de CPU, memoria y disco de su computadora en Java

Cómo monitorear el uso de CPU, memoria y disco de su computadora en Java

Usa seguir para monitorear, ¡es simple y conveniente!

Instrucciones de uso: el siguiente código debe usarse con el archivo sigar dll. El archivo dll debe colocarse en la carpeta bin debajo del JDK para que el programa sigar lo llame y el sigar?jar. También se requiere paquete.

¡Los siguientes programas han sido probados y son completamente funcionales!

¿Acerca de los paquetes jar y los archivos dll? No puedo cargarlos, por favor envíame un mensaje privado y te los enviaré

import?java.net.InetAddress;

importar?java.net.UnknownHostException;

importar?java.util.Map;

importar?java.util.Properties;

importar?java.util.Timer;

importar?java.util.TimerTask;

importar?org.hyperic.sigar.CpuInfo;

¿importar? org.hyperic.sigar.CpuPerc;

importar?org.hyperic.sigar.CpuInfo;

importar?org.hyperic.sigar.CpuPerc; p>

importar?org .hyperic.sigar.FileSystem;

importar?org.hyperic.sigar.FileSystemUsage;

importar?org.hyperic.sigar.Mem;

¿importar? org.hyperic.sigar.NetFlags;

importar?org.hyperic.sigar.NetInterfaceConfig;

importar?org.hyperic.sigar.NetInterfaceStat

importar; ?org.hyperic.sigar.OperatingSystem;

importar?org.hyperic.sigar.Sigar;

importar?org.hyperic.sigar.SigarException ;

import?org.hyperic.sigar.Swap;

import?org.hyperic.sigar.Who;

¿clase pública?RuntimeTest?{

¿pública? static?void?main(String[]?args)?{

¿intentar?{?

Temporizador?timer?=?new?Timer( ); >

TimerTask?task?=?new?TimerTask(){

public?void?run()?{

¿probar {

memoria? ();

}?catch?(SigarException?e)?{

e.printStackTrace();

}

}

};

prueba{

timer.schedule(task,?0,?3000);//Cada recuperación una vez cada 3 segundos

}catch(Exception?ex){

ex.printStackTrace();

}

//? La información del sistema se obtiene de jvm

//?property(); // Según tus propias necesidades, puedes ponerlo en el temporizador para obtenerlo regularmente

//?información de la CPU

p>

//cpu();

//?Información de la memoria

//?memory();

//?Información del sistema operativo

//?os();

//?Información de usuario//?quién();

}?catch?(¿Excepción?e1)?{

e1.printStackTrace();

}

}

¿privado?static?void?property()?throws?UnknownHostException?{

Runtime?r?=?Runtime.getRuntime();

Propiedades?props?=?System.getProperties();

InetAddress?addr;

addr?=?InetAddress.getLocalHost();

String?ip?=?addr.getHostAddress();

Maplt String,?Stringgt;?map?=?System .getenv();

String?userName?=?map.get("USERNAME" //Obtener el nombre de usuario

String?computerName?=?map.get ( "COMPUTERNAME"); //Obtener el nombre de la computadora

String?userDomain?=?map.get("USERDOMAIN" //Obtener el nombre de dominio de la computadora

System.out.println("Nombre de usuario: "? ?nombre de usuario);

System.out.println("Nombre de computadora: "? ?nombre de computadora);

System.out. println("Nombre de dominio del equipo: ?"? ?userDomain);

System.out.println("Dirección IP local: ?"? ?ip);

System.out. println("Nombre del host local: ?"? ?addr.getHostName());

System.out.println("Memoria total que puede utilizar la JVM: "? ?r.totalMemory() );

System.out.println("La memoria restante que la JVM puede utilizar:"? ?r.freeMemory());

System.out.println("La número de procesadores que la JVM puede usar:?" ? ?r.availableProcessors());

System.out.println("Versión del entorno de ejecución de Java:"? ?props.getProperty("java.version "));

System.out.println("Proveedor del entorno de ejecución de Java:"? ?props.getProperty("java.vendor"));

System.out.println ("URL del proveedor de Java:" "? ?props.getProperty("java.vendor.url"));

System.out.println("Ruta de instalación de Java:?"? ?props.getProperty( "java.home") );

System.out.println("Versión de especificación de la máquina virtual Java:"? ?props.ge

tProperty("java.vm.specification.version"));

System.out.println("Proveedor de especificación de máquina virtual Java:?"? ?props.getProperty("java.vm.specification .vendor "));

System.out.println("Nombre de especificación de la máquina virtual Java:"? ?props.getProperty("java.vm.specification.name"));

System.out.println("Versión de implementación de la máquina virtual Java:"? ?props.getProperty("java.vm.version"));

System.out.println("Proveedor de implementación de la máquina virtual Java: ?"? ?props.getProperty("java.vm.vendor"));

System.out.println("Nombre de implementación de la máquina virtual Java:"? ?props. getProperty("java.vm. name"));

System.out.println("Versión de especificación del entorno de ejecución de Java:?"? ?props.getProperty("java.specification.version")) ;

System.out.println("Proveedor de especificación del entorno de ejecución de Java:?"? ?props.getProperty("java.specification.vender"));

System.println("Nombre de la especificación del entorno de ejecución de Java:?" :?"? ?props.getProperty("java.specification.name"));

System.out.println("Número de versión del formato de clase Java :"? ?props.getProperty("java.class .version"));

System.out.println("Ruta de clases de Java:"? ?props.getProperty("java.class.path "));

System. out.println("Lista de rutas buscadas al cargar la biblioteca: "? ?props.getProperty("java.library.path"));

System.out.println("Ruta de archivo temporal predeterminada: ?"? ?props.getProperty("java.io.tmpdir"));

System.out.println("Una o más extensiones Ruta del directorio: "? ?props.getProperty("java.ext .dirs"));

System.out.println("Nombre del sistema operativo: "? ?props.getProperty("os. name"));

System.out .println("Arquitectura del sistema operativo:"? ?props.getProperty("os.arch"));

System.out. println("Versión del sistema operativo:"? ?props.getProperty("os .versión"));

System.out.println(

"Separador de archivos:?"? ?props.getProperty("file.separator"));

System.out.println("Separador de ruta:?"? ?props.getProperty("ruta. separador" ));

System.out.println("Separador de línea: "? ?props.getProperty("line.separator"));

System.out.println ("Usuario nombre de cuenta:"? ?props.getProperty("user.name"));

System.out.println("Directorio de inicio del usuario:?"? ?props.getProperty(" user.home") );

System.out.println("Directorio de trabajo actual del usuario:?"? ?props.getProperty("user.dir"));

}

privado?static?void?memory()?throws?SigarException?{

Sigar?sigar?=?new?Sigar();

Mem ?mem?=?sigar .getMem();

float?total?=?mem.getTotal();

float?used?=?mem.getUsed();

//Memoria total

System.out.println("Memoria total: "? ?mem.getTotal()?/?1024L/1024L? ?"M?av ");

//?Uso de memoria actual

System.out.println("Uso de memoria actual: "??mem.getUsed()?/?1024L/1024L ? ?"M?used");

//?Cantidad de memoria restante actual

System.out.println("Cantidad de memoria restante actual:"? ?mem.getFree() ?/?1024L/1024L? ?"M ?free");

//?Uso de memoria actual

System.out.println("Uso de memoria: "? used /total*100 "");

Swap?swap?=?sigar.getSwap();

//?Cantidad total del área de intercambio

System.println("Cantidad total del área de intercambio: ?"? ?swap.getTotal()?/?1024L/1024L? ?"M?av");

//?Uso actual del área de intercambio

System.out.println ("Uso del área de intercambio actual: "? ?swap.getUsed()?/?1024L/1024L? ?"M?used");

/ /?La cantidad restante del área de intercambio actual

System.out.println("La cantidad restante del área de intercambio actual:"? ?swap.getFree()?/?1024L/1024L? ?"M?free"); >}

privado?static?void?cpu()?throws?SigarException?{

Sigar?sigar?=?new?Sigar();

>CpuInfo?infos[]?=?sigar.getCpuInfoList();

CpuPerc?cpuList[]?=?null;

cpuList?=?sigar.getCpuPercList();

for?(int?i?=?0;?i?lt;?infos.length;?i )?{//?Aplicable a una sola CPU o a varias CPU

CpuInfo ?info?=?infos[i];

System.out.println("información del bloque de CPU");

System.out.println("MHz total de CPU:? "? ?info.getMhz()); ///?MHz total de CPU

System.out.println("Fabricante de CPU: ?? ?info.getVendor()); // Obtener la CPU proveedor, como Intel

System.out.println("Categoría de CPU: ?"? ?info.getModel( ) // Obtenga el tipo de CPU, como: Celeron

System.out.println("Número de caché de CPU: "? ?info.getCacheSize() // Número de memorias intermedias

printCpuPerc(cpuList[i]);

}

}

private?static?void?printCpuPerc(CpuPerc?cpu)?{

System.out.println("Uso de CPU por parte del usuario rate:"? ?CpuPerc.format(cpu.getUser())); ///?Tasa de uso del usuario

System.out .println("Uso del sistema de CPU:"? ?CpuPerc.format(cpu. getSys()));//?Uso del sistema

System.out.println("Tasa de espera actual de la CPU:" ? ?CpuPerc.format(cpu.getWait()));//?Espera actual rate

System.out.println("Tasa de errores actual de la CPU:"? ?CpuPerc.format(cpu.getNice( ))); //

System.out.println( "Tasa de inactividad actual de la CPU:"? ?CpuPerc.format(cpu.getIdle()));//?Tasa de inactividad actual

System.out.println("Uso total de la CPU:"? ?CpuPerc. format(cpu.getCombined())); //?Uso total

}

privado?static?void?os()?{

¿Sistema operativo? OS?=?OperatingSystem.getInstance();

//?Tipo de kernel del sistema operativo como:? 386, 486, 586, etc. x86

System.out.println( "Sistema operativo:"? ?OS.getArch());

System.out.println("Sistema operativo:"? ?OS.getArch()); getCpuEndian()); //

Sistema

.out.println("Sistema operativo DataModel(): "? ?OS.getDataModel()); //

//?Descripción del sistema

System.out.println(" Descripción del sistema operativo: "? ?OS.getDescription());

//?Tipo de sistema operativo

//?System.out.println("OS.getName( ) : "? ?OS.getName());

//?System.out.println("OS.getPatchLevel():?"? ?OS.getPatchLevel()); //

//?Proveedor del sistema operativo

System.out.println("Proveedor del sistema operativo:"? ?OS.getVendor());

// Nombre del proveedor

System.out.println("Nombre del proveedor del sistema operativo: "? ?OS.getVendorCodeName());

//?Nombre del sistema operativo

System.out.println("Nombre del sistema operativo:?"? ?OS.getVendorName());

//?Tipo de proveedor del sistema operativo

System. out.println ("Tipo de proveedor del sistema operativo:"? ?OS.getVendorVersion());

//?Número de versión del sistema operativo

System.out.println("Sistema operativo Número de versión: "? ?OS.getVersion());

}

privado?static?void?who()?throws?SigarException?{

Sigar ?sigar?=?new?Sigar();

¿Quién?quién[]?=?sigar.getWhoList();

si?(¿quién?!=?null? amp ;amp;?¿quién.longitud?gt;?0)?{

para?(int?i?=?0;?i?lt;?quién.longitud;?i )?{< / p>

//?System.out.println("¿Nombre de usuario en la tabla de procesos del sistema actual"? ?String.valueOf(i));

¿Quién?_quién?=?quién[ i ];

System.out.println("Consola de usuario:?"? ?_who.getDevice());

System.out.println("Host de usuario:?" ?_who.getHost());

//?System.out.println("getTime(): "? ?_who.getTime());

//? El nombre de usuario en la tabla de procesos del sistema actual

System.out.println("El nombre de usuario en la tabla de procesos del sistema actual: "? ?_who.getUser());

}

}

}

}