Manifiesto

Nosotros exploramos... y ustedes nos llaman criminales. Nosotros buscamos ampliar nuestro conocimiento... y ustedes nos llaman criminales. Nosotros existimos sin color de piel, sin nacionalidad, sin prejuicios religiosos... y ustedes nos llaman criminales. Ustedes construyen bombas atómicas, hacen la guerra, asesinan, engañan, y nos mienten y tratan de hacernos creer que es por nuestro bien, ahora nosotros somos los criminales.

Fragmento de "La Conciencia de un Hacker"

12 sept 2010

Aplicación: Monitor CPU Load



Os presento otra aplicación (programa, software) hecho en gambas para sistemas GNU/Linux.

Con éste programa podemos monitorizar la carga del CPU y cuando ésta sea menor a un valor establecido por nosotros entonces ejecutará un script. En el script por ejemplo podemos poner las ordenes para apagar el equipo (muy útil cundo compilamos algo pesado cómo un kernel), que el equipo emita una señal de audio, que se guarde en un log la hora en que la carga bajó, etc, etc...... el script está condicionado por nuestra imaginación.

Chucheras con las que cuenta el programa:

  • Muestra la carga actual del CPU, tanto en un potenciómetro (componente Dial), en un label y en el tooltip del trayicon.
  • El valor de CPU esperado se configura con un potenciómetro (componente Dial).
  • La aplicación cuenta con un trayicon para que se minimice en el área de notificaciones. Además de que el trayicon cuenta con un menú emergente.
  • Se pueden configurar los parámetros de iteraciones totales, tiempo entre cada iteración y tiempo entre actualización del cálculo de carga de CPU.
  • La aplicación cuenta con una pestaña para escribir el script a ejecutar.
  • Se cuentan con funciones para guardar tanto la configuración de parámetros y el script a ejecutar.
  • Antes de ejecutar el script se lanza una notificación informando que queda x tiempo (ese tiempo es el tiempo entre iteración), se necesita tener instalado el paquete libnotify-bin. Así sí se desea se puede detener el programa antes de que se ejecute el script.

El algoritmo es relativamente sencillo.

Cuando se dá la orden (se oprime el botón 'Run') se activa un timer con delay 'tiempo entre iteración', así cuando ocurre el evento Timer del timer (valga la redundancia) se compara el valor de carga actual del CPU con la del valor esperado; si es menor entonces el contador 'indice' se decrementa, en caso contrario se resetea a un valor configurado. Cuando índice es igual a cero se ejecuta el script.
Por lo tanto es necesario que la carga del CPU sea n veces seguidas menor al valor configurado para que se ejecute el script. Esas n veces es el valor máximo + 1 del índice.
Algo importante a mencionar es que el tiempo de actualización (dt) debe ser menor al tiempo entre iteración.

Descargar fuentes:  SOURCES - mcpuload-current.tar.gz
Descargar instalador (Debian, Ubuntu):  DEB - mcpuload-current.deb



Referencias:
Quiero Linux: Cálculo del uso de CPU en Linux

1 comentario:

Hey you!
Deja un comentario! va?!