HERRAMIENTA DE ADMINISTRACIÓN DE PROCESOS: KPM

QUÉ ES KPM?

El KPM permite ver y modificar los procesos de la computadora. Muestra información detallada de los procesos que están corriendo, estado de los recursos de la computadora como RAM (utilizada y libre), tamaño de la memoria de intercambio (swap), utilización que los procesos hacen de la CPU y otra información.

KPM permite matar o terminar procesos (kill) y modificar su prioridad.

Si se esta ejecutando KPM como superusuario, se tiene también la posibilidad de cambiar el Control de Planificación.



 
CÓMO EJECUTAR KPM?

Para acceder a KPM se debe buscar en el Panel el icono boton1.gif (1237 bytes).Haciendo un click se despliega un menú, seleccionar en Utilidades la opción Gestión de Procesos.



VENTANA PRINCIPAL DE KPM

Una pantalla como esta aparecerá en la pantalla:

kpm.gif (68152 bytes)

En la misma se puede observar los siguientes elementos:

Botón para Refrescar el Listado de Procesos.



Botón para Salir del KPM



kpmmenu.gif (2825 bytes)

Barra de Menú: Muestra las diferentes opciones que dispone KPM.



VENTANA (WINDOW)

Iconizar (Iconify)

Iconiza la ventana principal. Cuando se iconiza, KPM utiliza menos tiempo de CPU porque no necesita actualizar la lista de procesos. Cuando usa KWM (Administrador de Ventanas), si la opción "Dock into kpanel" está activada se verá un pequeño icono que indicará la carga promedio del sistema.

Bajo otros administradores de ventanas como FVWM, la iconización de KPM mostrará la carga (esto depende de cómo esté configurado el administrador de ventanas).

Salir (Quit)

Sale de KPM.



PROCESOS (PROCESS)

Valor de Prioridad de un Proceso (Renice)

Permite modificar la prioridad de los procesos marcados. Bajo Linux un proceso tiene un valor de prioridad (nice value) de -20 (el mejor) a +20 (el peor). Así, incrementándolo se tendrá procesos que utilizarán menos tiempo la CPU. Sin embargo, no está permitido bajar el valor de prioridad (con lo que mejoraría la prioridad del proceso), salvo por el superusuario.

Cambiar Planificación (Change Scheduling)

Esta opción sólo está disponible para el superusuario. El cuadro de diálogo de esta ventana, permite al superusuario cambiar la política de planificación de los procesos seleccionados (usando las extensiones de tiempo real Posix.1b, presentes en el kernel versión 2.0.x). Los procesos normales son marcados como SCHED_OTHER y tienen prioridad estática (0 - cero). Los procesos de tiempo real, tienen la política de SCHED_FIFO o SCHED_RR y una prioridad estática en el rango de 1 a 99.

Información de conexión (Socket Info)

Muestra una lista de conexiones TCP y UDP usadas por los procesos seleccionados.



SEÑALES (SIGNAL)

El menú señales permite enviar varias señales a todos los procesos seleccionados. Hay que tener cuidado cuando se hace esto especialmente si se han marcado más de un proceso.



VER (VIEW)

ACTUALIZAR LA LISTA DE PROCESOS (Refresh process list)

Actualiza manualmente la lista de procesos. Es muy utilizado sobre todo cuando el tiempo de actualización es muy largo.

Se puede también acceder a esta función desde un botón en la barra de tareas o presionando la barra espaciadora.

Todos los procesos (All process)

Muestra todos los procesos.

Sus Procesos (Your process)

Muestra solo los procesos del usuario.

Procesos no Root (Non-root process)

Muestra todos los procesos excepto aquellos iniciados por root

Procesos en ejecución (Running process)

Muestra solamente los procesos que están corriendo o ejecutando.

Campos de usuario (Users fields )

Se mostrarán en la lista de procesos aquellos campos que son de mayor interés para el usuario.


Campos de trabajo (Job fields)

Muestra los campos más relevantes para un control de trabajo.

Memory fields (Campos de Memoria)

Muestra información acerca de la memoria usada, páginas faltantes, etc.

 

DESCRIPCIÓN DE CAMPOS

PID - Process ID (Identificador de Proceso)

Cada proceso tiene un número único que lo identifica (ID) que comienza en 1 y se va incrementando.

Cuando un nuevo proceso es creado el siguiente PID no utilizado es asignado a ese nuevo proceso.

El PID generalmente es de tipo enteros de 16-bits con lo que se llega a un número tope de procesos de 32767. Esto es más que suficiente y no hay que preocuparse por ello.

PPID - Parent process ID (Identificador de Proceso Padre)

Cada proceso tiene un proceso padre. La excepción es el proceso 1 (llamado “init”) que es la raíz de la jerarquía de procesos y no tiene proceso padre.

PGID - Process group ID (Identificador de Grupo de Proceso)

Cada proceso es miembro de un grupo de procesos, los cuales son usados para la distribución de señales.

SID - Session ID (Identificador de Sesión)

Los Identificadores de sesión son usados principalmente para determinar que ocurre cuando la terminal se desconecta.

TTY - Controling TTY (Terminal Controladora)

La terminal controladora es usualmente el dispositivo desde donde el proceso fue iniciado y que se utiliza para entradas y salidas. No todos los procesos tienen una terminal controladora.

KPM busca en el directorio /dev el nombre de la terminal. Sólo se muestran los 2 últimos caracteres del tty.

Así, para /dev/ttyp6, KPM mostrara p6.

TPGID - Process Group ID of tty Owner

Un tty en uso es propiedad de un proceso. Este es el identificador del grupo de procesos (PGID) de aquellos procesos.

USER - Process owner (Propietario del proceso)

Este es el nombre (real) del usuario propietario del proceso. Si el UID del usuario efectivo es diferente al UID real, se indica un * o un +. El asterisco es usado cuando el usuario efectivo es el superusuario.

NICE - Time-sharing priority (Prioridad de Tiempo Compartido)

El valor de prioridad determina cómo un proceso es definido para correr, y su duración de tiempo. Este valor está en el rango de -20 a +20, 0 (cero) por defecto. Bajar este valor le da al proceso más tiempo en la CPU. Sólo el superusuario puede bajar este valor.

PRI - Lenght of next time-slice (Tamaño de la siguiente ranura de tiempo)

Es un número comprendido en el intervalo de -20 a +20 que indica el tamaño de la ranura de tiempo en la que se le permitirá correr al proceso.

PLCY - Scheduling polIcy (política de planificación)

FIFO (F) y Round Robin (R) son políticas de planificación en tiempo real.

OTHER (O) es una política de tiempo compartido común en Unix.

Los procesos planificados como F y R tienen espacio una prioridad en tiempo real entre 1 y 99. Un proceso correrá hasta que aparezca un proceso inactivo con mayor prioridad.

Los procesos planificados como R correrán durante su ranura de tiempo.

Los procesos planificados como F corren hasta entregar su tiempo en la CPU o por solicitud de un proceso de mayor prioridad.

Sólo el superusuario puede cambiar la política de planificación.

RPRI - Realtime priority (prioridad en tiempo normal)

Los procesos en tiempo real (F y R) tienen prioridades entre 1 y 99. Un proceso solicitará ejecución a cualquier otro proceso que tenga baja prioridad. Los procesos de tiempo compartidos (política 0) tienen todos prioridad 0.

Sólo el superusuario puede cambiar la prioridad de tiempo real.

MAJFLP - Number of major faults occured (Fallos mayores de páginas)

Un fallo de página ocurre cuando un proceso intenta leer o escribir en una página de memoria que no está presente en la memoria RAM. Un fallo mayor de página ocurre cuando esta involucrado un acceso a disco, tal es el caso del intercambio entre memoria y disco (swapping).

MINFLT - Number of minor faults occured (Fallos menores de páginas)

Un fallo de página ocurre cuando un proceso intenta leer o escribir en una página de memoria que no esta presente en la memoria RAM. Un fallo menor de página ocurre cuando no hay acceso al disco o cuando se intenta escribir en una página que no es modificable, por ejemplo: al tratar de escribir en una página compartida de tipo "copia en modificación" (copy on write).

TRS - Text resident set size (Kbytes) - Tamaño de texto residente

Es el tamaño del texto (código ejecutable) de un proceso que se encuentra en la RAM.

DRS - Data resident set size (Kbytes) - Tamaño de datos residentes

Es el tamaño de los datos (código no ejecutable) de un proceso que se encuentra en la RAM.

SIZE - Virtual image size of process (en Kbytes) - Tamaño de imagen virtual de procesos.

Es el tamaño total de la imagen de un proceso. Esto incluye código, datos, librerías compartidas usadas por los procesos. También se incluyen las paginas de intercambio.

SWAP - Kbytes on swap device (Kbytes del dispositivo de intercambio)

Esto es simplemente la diferencia entre SIZE y RSS.

RSS - Resident set size (Kbytes) - Tamaño de proceso residente.

Es el tamaño de una parte del proceso (código y datos) que actualmente están residentes en la RAM. Incluye las librerías compartidas. Esto da una aproximación de cuanta RAM utiliza un proceso.

SHARE - Shared memory (Kbytes) - Memoria compartida en Kbytes

Esta es la cantidad de memoria que los procesos comparten con otros procesos.

DT - Number of dirty pages (Numero de paginas no-actualizadas)

Es la cantidad de páginas alojadas en la RAM que han sido modificadas y que aún no se han bajado al disco.

STAT - State of the process (Estado del proceso)

Los procesos pueden tomar alguno de los siguientes estados:

R (running): el proceso esta corriendo o esta listo para hacerlo.

S (sleeping): el proceso esta esperando un evento (por ejemplo, una Entrada o Salida).

D (uninterrumpible sleep): el proceso esta esperando un evento de duración ininterrumpida (generalmente algún driver de un dispositivo).

T (stopped): el proceso se ha detenido, o comenzó a rastrear a otro proceso.

Z (zombie): el proceso ha terminado, pero cuya muerte no ha sido aun detectada por su proceso padre.

W: indica que el proceso a sido intercambiado al disco y no reside más en la memoria.

FLAGS - Process flags (hex) - Bandera de procesos (en hexadecimal)

Contiene información adicional acerca del estado de los procesos.

WCHAN - Function where process is sleeping (proceso en espera)

El proceso esta esperando que suceda algún evento para continuar. Indica la función del kernel en la que el proceso se detuvo.

UID - Numerical user ID (Identificación de usuario)

Es el ID (identificación) del (real) usuario propietario del proceso.

%WCPU - Weighted percentage of CPU (Porcentaje ponderado de utilización de la CPU)

Es el porcentaje de utilización de la CPU (tiempo) por proceso.

%CPU - Percentage of CPU since last update (Porcentaje de la CPU desde la última actualización)

Cuanto tiempo de CPU usan los procesos desde la última actualización del KPM.

%MEM - Perecentage of memory used (Porcentaje de memoria usada)

Cuanta RAM ha sido usada por los procesos (en porcentaje).

START - Time process started (Creación del Proceso)

Tiempo de creación del proceso.

TIME - Total CPU time used (Tiempo total usado de la CPU)

Cuanto tiempo los procesos han usado la CPU desde que fueron creados.

COMM - Command that started the process (Comando inicializador del proceso)

Comando (nombre de archivo) que comenzó el proceso. Los nombres largos son truncados.

CMDLINE - Command line that started the process (Comando de consola que inicio un proceso)

Es un comando ingresado por consola que puede incluir argumentos y que crean un proceso. El camino del comando es oculto en las opciones de menú. Procesos bajados al disco (en espera) muestran el nombre del comando entre paréntesis.