2011-04-01 65 views

Respuesta

21

tamaño del disco:

long diskSize = new File("/").getTotalSpace(); 

nombre de usuario:

String userName = System.getProperty("user.name"); 

No estoy al tanto de una manera fiable para determinar la memoria total del sistema en Java. En un sistema Unix, puede analizar /proc/meminfo. Por supuesto, puede encontrar el máximo de memoria disponible para la JVM:

long maxMemory = Runtime.getRuntime().maxMemory(); 

Editar: esté completo (gracias Suresh S), aquí es una manera de conseguir la memoria total con el sólo Oracle JVM:

long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory 
     .getOperatingSystemMXBean()).getTotalPhysicalMemorySize(); 
+5

+1: BTW Puede establecer '-Duser.name = AUser';) –

+1

@Peter: ah sí, buen punto. – WhiteFang34

+0

Me resulta muy útil para fines de auditoría (es decir, iniciar sesión que hizo lo que, por ejemplo, lo transfiero a llamadas de RMI), pero no es muy seguro. –

2

Eche un vistazo a this topic, que detalla cómo obtener información del sistema operativo como esta.

5

Por Tamaño de RAM, si está utilizando java 1,5

paquete java.lang.management

com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); 
System.out.println(mxbean.getTotalPhysicalMemorySize() + " Bytes "); 
+0

+1 no lo sabía, aunque vale la pena señalar que es específico de Oracle JVM. – WhiteFang34

4
import java.lang.management.*; 
import java.io.*; 

class max 
{ 
    public static void main(String... a) 
    { 
     long diskSize = new File("/").getTotalSpace(); 
     String userName = System.getProperty("user.name"); 
     long maxMemory = Runtime.getRuntime().maxMemory(); 
     long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize(); 
     System.out.println("Size of C:="+diskSize+" Bytes"); 
     System.out.println("User Name="+userName); 

     System.out.println("RAM Size="+memorySize+" Bytes"); 
    } 
} 
Cuestiones relacionadas