Foros del Web » Programación para mayores de 30 ;) » Java »

obtener memoria libre

Estas en el tema de obtener memoria libre en el foro de Java en Foros del Web. Hola, ¿Pueden indicarme alguna forma de conocer desde Java la cantidad de memoria principal disponible en Windows, probablemente con una llamada al sistema?...
  #1 (permalink)  
Antiguo 13/03/2011, 14:01
 
Fecha de Ingreso: febrero-2011
Mensajes: 53
Antigüedad: 13 años, 2 meses
Puntos: 2
obtener memoria libre

Hola, ¿Pueden indicarme alguna forma de conocer desde Java la cantidad de memoria principal disponible en Windows, probablemente con una llamada al sistema?
  #2 (permalink)  
Antiguo 14/03/2011, 02:24
 
Fecha de Ingreso: marzo-2011
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: obtener memoria libre

01 import org.hyperic.sigar.Mem;
02 import org.hyperic.sigar.Sigar;
03 import org.hyperic.sigar.Swap;
04 import org.hyperic.sigar.SigarException;
05
06 public class InfoMemoria {
07 private Sigar sigar = new Sigar();
08 public void imprimirInfo() throws SigarException {
09 Mem memoria = sigar.getMem();
10 Swap intercambio = sigar.getSwap();
11
12 System.out.println("Cantidad de memoria RAM: "+ memoria.getRam() + "MB");
13
14 System.out.println("Total: "+enBytes(memoria.getTotal()));
15 System.out.println("Usada: "+enBytes(memoria.getUsed()));
16 System.out.println("Disponible: "+enBytes(memoria.getFree()));
17
18 System.out.println("Memoria SWAP total: "+enBytes(intercambio.getTotal()));
19 System.out.println("Memoria SWAP usada: "+enBytes(intercambio.getUsed()));
20 System.out.println("Memoria SWAP libre: "+enBytes(intercambio.getFree()));
21
22 }
23 private Long enBytes(long valor) {
24 return new Long(valor / 1024);
25 }
26 }

Mirate esto, lo he encontrado aqui:

http://casidiablo.net/capturar-informacion-sistema-operativo-java/


Oriol Soler
Infosintesis Solution Group
www.infosintesis.net
  #3 (permalink)  
Antiguo 14/03/2011, 05:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 53
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: obtener memoria libre

Eso ya lo había visto, pero requiere de una librería externa llamada Sigar. ¿No es posible de alguna forma más sencilla, solamente usando el lenguaje Java y en todo caso la API de Windows?

Etiquetas: libre, memoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:34.