gentoo linux, java, software libre y otras hierbas
oct, 02 2009 - 6:00 pm

Obtener información del sistema [memoria disponible, %CPU, espacio en disco] en Java

En esta guía aprenderemos a obtener información de los recursos sistema en Java, usando la librería Sigar. Los datos que podremos extraer son los siguientes:

  • Información de la CPU.
  • Espacio en disco disponible.
  • Cantidad de espacio que consume un directorio en específico.
  • Cantidad de memoria RAM disponible y en uso.
  • Información de red (dirección IP, nombre de la NIC, puertos abiertos, tablas de enrutamiento, etc.)
  • Información de los procesos que se están ejecutando en el sistema.
  • Asignación de variables de entorno.
  • Uptime, o cantidad de tiempo que el equipo ha estado encendido.
  • Nombre y versión del sistema operativo.
  • Usuarios logueados actualmente.

Resaltadas en negrita está la información en la que nos concentraremos en el ejemplo. Pero antes aclaremos un poco que es Sigar: el API de Sigar nos proporciona una serie de métodos que nos permiten obtener información del sistema operativo; consta de una librería de Java (.jar) y otras librerías nativas específicas para cada sistema operativo soportado (libsigar-amd64-linux.so, para Linux de 64 bits o sigar-x86-winnt.dll para Windows de 32 bits, por poner un ejemplo).

Teniendo esto en cuenta, para hacer funcionar dicha API en una de nuestras aplicaciones, bastaría con tener el archivo .jar y la librería específica de nuestro sistema operativo. En el desarrollo del ejemplo se usará Eclipse y, aunque se explicará cómo añadir las librerías en el proyecto, se da por conocido el funcionamiento del flag --classpath de los comandos javac y java (obligatorio si no se usa ningún IDE).

El resultado…

Siempre pongo primero el resultado ya que nos aclara la visión de hacia donde vamos, y de paso saber si lo que está aquí es lo que buscamos. Esta es la salida del programa en mi Gentoo Linux:

Leer el resto de la entrada…

29 Comentarios | deja el tuyo

oct, 01 2009 - 3:30 pm

Trabajando con el Kernel Linux (III) – Buscando drivers de dipositivos PCI

Contribuyendo a la excelente labor de mi amigo Cortex, vamos con este pequeño artículo.

Una de las tareas más dispendiosas a la hora de configurar el kernel es determinar qué opción/driver activar para determinado dispositivo. La idea de este artículo es dar a conocer una excelente herramienta online que nos permitirá conocer mejor nuestro sistema, y de paso saber los nombres de los drivers que podemos usar por cada dispositivo.

La página en cuestión es http://kmuto.jp/debian/hcl/ y contiene una base de datos de IDs de dispositivos PCI, que nos permite consultar información acerca de nuestros dispositivos y los drivers que los controlan.

Uso

Para usarlo debemos ejecutar el siguiente comando:

lspci -n

y copiamos la salida en el area de texto que aparece al entrar a http://kmuto.jp/debian/hcl/; hacemos clic en el botón Comprobar y obtendremos un listado de dispositivos vs. nombre del driver.

Por ejemplo, mi laptop tiene una ranura para insertar memorias SD; el nombre de dicho dispositivo es R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter y el driver es sdhci-pci.

pantallazo del driver

Con dicha información, podemos hacer una búsqueda (presionando la tecla /) en la configuración del kernel (cuando hacemos un make menuconfig):

screenshot_031

El resultado es la ubicación exacta de la opción que debes habilitar para tener tu dispositivo funcionando:

screenshot_032

Eso es todo. Ahora podemos estar seguros de escoger el driver adecuado y podemos compilar nuestro kernel normalmente.

7 Comentarios | deja el tuyo