Seguro que hay módulos que acceden a /proc, para extraer información, aunque la mayor parte de esa administración la realizo con el gkrellm, residente en mi escritorio. Si veo que la máquina hace algo raro, arranco el htop en ella. Y si tengo que matar, pues mato
También tengo algún programilla que se ejecuta cada 5 minutos, para ver el nivel de carga, y si supera un cierto límite, reordenar la prioridad de los procesos cambiando su valor de 'nice'.
Using perl Syntax Highlighting
#!/usr/bin/perl -s
#
# Baraja las prioridades de los procesos Apache
#
# Joaquín Ferrero. 2011.11.15
#
use v5.10;
our $f; # -f : fuerza, aunque no haya suficiente carga
# Nivel de carga del sistema
my $carga = 0 + do { open F, '/proc/loadavg'; <F> };
if ($carga < 2) { # si no supera el límite
if (not $f) {
exit 0; # salimos
}
}
# Ajustar prioridad de los procesos web
for ( split " ", qx(pidof apache2) ) { # para todos los procesos apache2
my $x = -10 + int rand 21; # sacamos un valor aleatorio de 'nice'
qx(renice $x $_); # lo ajustamos al proceso
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
No me rompí la cabeza buscando qué módulo podría hacer un
renice. Simplemente ejecuté el comando disponible en el sistema. Como siempre trabajo con Linux, sé que puedo llevar este código a otra máquina, y puedo instalarlo sin tener que hacerle cambios.