Gestion de Procesos y Memoria
Gestion de Procesos y Memoria
Gestion de Procesos y Memoria
Monitorizacin de procesos
pstree
Con este comando podemos ver las tareas y sus subtareas en una estructura
anidada. Con el parmetro p se muestran tambin los PIDs de los procesos.
pstree
ps
Este comando muestra una lista de los procesos en ejecucin en un instante dado.
ps -u
Muestra los procesos que pertenecen al usuario actual.
ps -aux
Muestra la informacin detallada de todos los procesos en ejecucin (a para todos
los procesos, u para los procesos del usuario y x para los procesos que no son de terminal).
Los campos ms importantes mostrados por ps son:
RSS - tamao del proceso en la memoria principal del
sistema (generalmente son KBytes, cuando no lo sea, se indicar con una M detrs
del tamao).
Las tareas que podemos ejecutar desde una lnea de comandos pueden estar en
primer o segundo plano, y de hecho pueden pasar de un estado a otro. Una terminal
concreta est bloqueada cuando un proceso est en primer plano, mientras que si est en
segundo plano la terminal est libre y podemos teclear comandos en ella. Esto est ms
relacionado con la terminal (Bash) en s que con el concepto de proceso o tarea.
Normalmente al ejecutar un comando no recuperamos el prompt hasta que ste no termina.
La necesidad que nos surge es poder usar esa terminal sin abrir otra nueva a la vez que
nuestro comando sigue haciendo lo que tenga que hacer.
Cada vez que al presionar INTRO hay novedades en la gestin de tareas, Bash nos
informa de ello, mostrando entre corchetes el nmero de tarea y qu ha ocurrido con ella.
Por defecto, una tarea en segundo plano enviar su salida a la terminal actual.
Podemos usar las redirecciones para evitarlo.
&
En Bash, ponemos un proceso en segundo plano aadiendo un & al final del
comando. El comando se ejecuta mientras la terminal queda libre. Una vez ejecutada la
tarea nos indica entre corchetes el nmero de tarea y a continuacin el PID del proceso. Si
la terminal se cerrar el proceso se terminara tambin.
$ sleep 10 &
[1] 6190
$ (tras 10 segundos presionamos INTRO)
[1]+ Done sleep 10
nohup
Sirve para ejecutar cualquier comando sin que ste dependa de la terminal. Para ello
hay que indicar las redirecciones de entrada y salida estndar, si no el mismo programar te
indicar cules est utilizando.
nohup sleep 10 &> salida.log &
nohup ls R /etc &> salida.log
jobs
Muestra una lista de los trabajos en ejecucin en la terminal.
jobs
fg
Con este comando recuperamos una tarea de segundo plano o parada a primer
plano, para ello deberemos seguirlo de %N, donde N es el nmero de tarea que queremos
recuperar.
fg %2
Ctrl + Z
Con esta combinacin detendremos la tarea que se encuentre actualmente en
primer plano.
$ ls / -r
...
(Ctrl + Z)
[2]+ Detenido ls / -r
bg
Con este comando pasamos una tarea parada a segundo plano y se activara para
continuar su ejecucin, deberemos seguirlo de %N, donde N es el nmero de tarea que
queremos activar.
bg %2
Ctrl + C
Cancela totalmente una tarea o proceso que se encuentre en primer plano
ejecutndose actualmente.
kill
Este comando sirve para enviar una seal a un proceso, deberemos indicar la seal
enviada y el PID del proceso al que deseamos enviar la seal. El tipo de seal se indica
mediante una palabra asociada al mismo o con un cdigo numrico en aquellas seales
ms utilizadas. Los ms conocidos son:
TERM (15): Manda una seal para terminar de una manera limpia un proceso,
esperando a que guarde sus datos, para ello el proceso debe de estar preparado para
aceptar este tipo de seal. Esta ser la seal por defecto si no se indica ninguna.
kill 9156
kill TERM 9156
kill -15 9156
KILL (9): Manda una seal de terminar incondicionalmente, sin esperar a que el
proceso guarde sus datos.
kill KILL 9156
kill 9 9156
STOP: Manda una seal de detener a un proceso.
kill STOP 9156
Si en lugar de indicar un PID se puede indicar -1 para que afecte a todos los
procesos al alcance del usuario. Si somos root detendremos el sistema.
kill 9 -1
nice / renice
Sirve para modificar la prioridad por defecto de los procesos del sistema. La
prioridad va desde el valor -20 (priodad ms favorable) al valor 19 (prioridad menos
favorable).
La prioridad de un proceso la podemos conocer mediante la columna NI del
siguiente comando:
ps l
ps -axl
Con el comando sin parmetros obtenemos el valor por defecto de la prioridad con la
que ejecutamos los comandos:
nice
Para lanzar un proceso con una determinada prioridad utilizamos el siguiente
comando:
nice n 15 sleep 10
nice n -8 sleep 10
Para modificar la prioridad de un proceso que ya est en ejecucin utilizamos su
PID:
Monitorizacin de memoria
free
Proporciona informacin relativa a la cantidad de memoria fsica y swap, tanto libre
como usada en el sistema, el estado de los buffers y la memoria cach utilizada por el
ncleo. Con el parmetro m se muestra en megabytes.
free -m
pmap
Proporciona informacin referente a la utilizacin de memoria por parte de un
determinado proceso. Hay que indicarle el PID del proceso.
pmap 1732
vmstat
Informe grfico que contiene las estadsticas de la memoria.
vmstat
/proc/meminfo
Fichero de texto con la informacin de la memoria a tiempo real.
cat /proc/meminfo
Este artculo publicado en TicArte pertenece a Rafa Morales y est protegido bajo una
Licencia Creative Commons.
http://www.ticarte.com/contenido/gestion-de-procesos-y-memoria
TIME+ COMMAND
#watch n 1 d free
Every 1,0s: free
totalusedfree shared buffers
Mem:3632736 1049556 2583180
-/+ buffers/cache: 434840 3197896
Swap:1991920
0 1991920
#iostat
Linux 2.6.15-23-386 (owlt02.owliancet.local)
23.09.2009
avg-cpu: %user %nice %system %iowait %steal %idle
0,53 0,03 0,04 0,07 0,00 99,33
Device:
sda
Comando top
Para ejecutar top tal solo tenemos que abrir una terminal y ejecutar el siguiente comando:
top
Los resultados que nos mostrar este comando sern ms completos que el comando Free.
Este comando mostrar los mismos parmetros que el comando free, pero adems
ser capaz de mostrarnos la cantidad de memoria RAM y CPU consumida por cada
uno de nuestros procesos y programas que se ejecutan en nuestro ordenador.
Comando /proc/meminfo
Para visualizar la informacin a travs de meminfo tan solo tenemos que abrir una terminal
y ejecutar el siguiente comando:
cat /proc/meminfo
Despus de ejecutar el comando aparecer una larga lista que nos mostrar multitud de
parmetros de nuestra memoria RAM.
Entonces podramos colocar ps xauf y ste nos muestra la tabla de procesos en forma de
rbol cada padre con su hijo hasta llegar hasta el proceso final
http://www.proyectobyte.com/linux-es/curso-de-linux-460-gestion-de-procesos-y-archivos
http://www.hostingadvice.com/blog/linux-process-management-commands-know/
https://openwebinars.net/academia/2/curso-online-de-linux-preparacion-lpi-101/38/crearmonitorizar-y-finalizar-procesos/preview/
http://www.guru99.com/managing-processes-in-linux.html