Você está na página 1de 23

Monitoreando el Sistema -.Procesos.

Procesos del Sistema.-

Que es un Proceso?

Un proceso no es ms que un programa o aplicacin que se encuentra cargado en la memoria y en proceso de ejecucin.

El hecho de que el sistema operativo sea multitarea implica que podemos lanzar ms de un programa a la vez.

Aunque nuestro ordenador slo disponga de una CPU, el sistema operativo se encarga de repartir el tiempo de procesamiento de sta para que varios procesos puedan ir realizando sus operaciones

Procesos del Sistema.-

Para identificar de manera inequvoca cada proceso, el ncleo del sistema les asigna un nmero llamado PID (Process IDentification)

Aunque podramos pensar que nicamente con el nombre ya los podramos referenciar, es imprescindible disponer de este nmero porque podemos ejecutar un mismo programa tantas veces como queramos.

Procesos del Sistema.-

El kernel linux funciona como un administrador de una cola de procesos ejecutables. Cada proceso espero su turno para tener acceso a tiempo de CPU.

Esto significa que cada proceso obtiene una buena cantidad de tiempo del sistema, antes de ceder el turno a otros procesos.

Procesos del Sistema.-

Algunas razones para monitorear procesos.-

Cancelar procesos que operan incorrectamente (por ejemplo, programas que entran en ciclos infinitos o caen en recursividad infinita) para evitar deterioro del tiempo de respuesta y de las condiciones de los dems usuarios.

Por medio de la observacin del comportamiento de los procesos, saber cundo puede ser necesario un afinamiento, y qu parmetros es necesario modificar para hacerlo.

Controlar prioridades de los procesos.

Controlar procesos que estn corriendo en background.

Monitorear usuarios y/o terminales.

Procesos del Sistema.-

Un proceso no es automticamente elegible para recibir el tiempo de CPU slo porque existe.

Un proceso puede tener uno de los cuatro estados de ejecucin de un proceso.

Runnable -- El proceso puede ser ejecutado. Sleeping -- El proceso est a la espera de algn recurso. Zombie -- El proceso est tratando de morir. Stopped -- El proceso se suspende (no se les permite ejecutar).

Herramientas para Monitorear Procesos.-

Herramientas integradas en el Sistema:

ps

top

htop

Herramientas de Monitorizacion de rendimiento: Sysstat

El Protocolo Simple de Administracin de Red o SNMP (del ingls Simple Network Management Protocol) es un protocolo de la capa de aplicacin que facilita el intercambio de informacin de administracin entre dispositivos de red.

Comando 'ps'

Para saber qu procesos se estn ejecutando, podemos utilizar el comando ps

Muestra los procesos lanzados en el sistema por el usuario que lo invoca

Puede mostrar la prioridad del PID, UID, y el terminal de control de procesos. Tambin da informacin sobre la cantidad de memoria que un proceso est utilizando, cunto tiempo de CPU que ha consumido, y su situacin actual (en ejecucin, se detuvo, dormir, etc.)

Comando 'ps'

logan@AmDTurion64:~$ps PIDTTYTIMECMD 2619pts/000:00:00bash 2673pts/000:00:00ps

Cabecera

PID:identificadordelproceso

TTY:teminalasociadoconelproceso

TIME:tiempodeusodeCPU

CMD:nombredelejecutable

Comando 'ps'

USERUsuarioqueejecutaelproceso

PIDProcessID,Identificadordelproceso

%CPUPorcentajedeCPUqueestautilizando

%MEMPorcentajedeMemoriaqueestautilizando

VSZTamaovirtualdeelproceso

RSSTamaodelaparteresidenteenmemoria

TTYTerminalasociadaalproceso

STATEstadodelproceso

STARTHoradeiniciodelproceso

TIMETiempodeusoacumuladodelCPU

COMMANDNombredelprogramaocomandoqueinicioel proceso

Comando 'ps'

Algunos Modificadores

pse(emuestratodoslosprocesos)

psef(fmuestraopcionescompletas)

pseF(Fmuestraopcionescompletasextra)

psaux(formatoBSDsinguin,umuestra usuariosydemscolumnas)

pseouser,pid,tty(ooutputpersonalizado, seindicanloscampos separadosporcoma,ver pshelpopsL)

psel(muestraformatolargodevarias columnas,muyprctico)

Comando 'ps'

Comando 'top'

top: es una utilidad gratuita que funciona en muchos sistemas y proporciona un resumen actualizado peridicamente de los procesos activos y el uso de los recursos

De forma predeterminada, la pantalla se actualiza cada 3 segundos. La mayora de los procesos que estn consumiendo CPU se muestran en la parte superior.

Comando 'top'

Comando 'top'

Encabezado

uptime

Processes: nmero de procesos desde la ltima actualizacin clasificados en: running - sleeping stopped zombie

CPU: utilizacin media del procesador clasificando los procesos

Memory: distribucin de la memoria

Swap: distribucin de la memoria de intercambio.

Comando 'top'

PDI : identificador del proceso

USER : usuario propietario del proceso

PR : prioridad

NI : valor del parmetro nice

VIRT : memoria virtual utilizada (cdigo datos - libreras)

RES : memoria fsica usada

SHR : memoria compartida

S : estado del proceso

%CPU : uso porcentual de la CPU

%MEM : uso porcentual de la memoria

TIME+ : tiempo usado por el proceso desde su lanzamiento

COMMAND : comando asociado

Comando 'top'

Personalizar top

Comando 'htop'

Es un comando similar al top de unix, pero que ofrece una alternativa mas funcional e interactiva.

La primera seccin resume el uso de CPU, memoria RAM y memoria de intercambio (swap), con barras indicadoras horizontales. La segunda indican los procesos que se estn ejecutando actualmente ordenados por el consumo de CPU que hacen del sistema. La tercera opcin es un men con opciones para pedir ayuda, realizar bsquedas, enviar seales, etc.

Comando 'htop'

Comando 'pgrep'

El comando pgrep recoge una expresin regular de la lnea de comandos, y nos muestra el o los ID de los procesos que coincidan con dicha expresin regular.

Podra definirse como una simbiosis entre los comandos ps y grep. Ejemplo: saber los ID de todos los procesos que estn corriendo en nuestra mquina, referentes a la expresin regular apache (procesos web de apache).

$ pgrep apache

Comando 'pgrep'

Scrip que toma la salida de pgrep y determinar si el servidor web esta ejecutandose.

RESTART="/etc/init.d/apache2 restart"

PGREP="/usr/bin/pgrep"

HTTPD="apache"

$PGREP ${HTTPD}

if [ $? -ne 0 ] # if apache not running

then

$RESTART

fi

Esta no es una solucion viable, la mejor es utilizar software de monitoreo especializado.

Comando 'kill'

El comando kill nos permite enviar seales a los procesos que nos interese.

En general, todos los programas se disean para que puedan recibir este tipo de seales.

De este modo, segn el tipo de seal recibido saben que deben realizar unas operaciones u otras.

Hay muchos tipos diferentes de seales, que podemos ver en el manual de kill

Comando 'kill'

Las seales ms utilizadas con kill son las que nos sirven para obligar a un proceso a que termine o pause su ejecucin.

kill15PID le indicamos al proceso que queremos que termine, de modo que al recibir la seal deber guardar todo lo necesario y acabar su ejecucin.

kill9PID Si hay algn tipo de problema o el programa no est respondiendo, con esto automticamente se saca de la cola de ejecucin

killall sirve para referirnos al nombre de varios procesos a la vez en lugar de referenciarlos por su PID y, de este modo, enviarles una seal a todos a la vez

Você também pode gostar