• Publicidad

Módulo para monitorizar procesos en Linux

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Módulo para monitorizar procesos en Linux

Notapor danimera » 2014-08-08 12:14 @552

¿Existe algún módulo con funciones para mostrar, detener o mirar qué procesos están consumiendo muchos recursos en Linux? Posiblemente existan herramientas, pero quiero un módulo para tener un script que rápidamente yo pueda ejecutar para ver algunos procesos, etc.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Módulo para monitorizar procesos en Linux

Notapor explorer » 2014-08-08 14:48 @658

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'.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -s
  2. #
  3. # Baraja las prioridades de los procesos Apache
  4. #
  5. # Joaquín Ferrero. 2011.11.15
  6. #
  7. use v5.10;
  8.  
  9. our $f;                         # -f : fuerza, aunque no haya suficiente carga
  10.  
  11. # Nivel de carga del sistema
  12. my $carga = 0 + do { open F, '/proc/loadavg'; <F> };
  13.  
  14. if ($carga < 2) {               # si no supera el límite
  15.     if (not $f) {
  16.         exit 0;                 # salimos
  17.     }
  18. }
  19.  
  20. # Ajustar prioridad de los procesos web
  21. for ( split " ", qx(pidof apache2) ) {          # para todos los procesos apache2
  22.     my $x = -10 + int rand 21;                  # sacamos un valor aleatorio de 'nice'
  23.  
  24.     qx(renice $x $_);                           # lo ajustamos al proceso
  25. }
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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados