...
Server hardware requirements.
Introduccion
Top
load average: 0.44, 0.51, 0.52
0 zombie
%Cpu(s): 9.7 us,
KiB Mem : 24504180 total, 441872 free, 5581376 used, 18480932 buff/cache
...
Abrimos una consola y simplemente ejecutamos el comando:
top
Nos va a aparecer una interfaz en modo texto que se va a ir actualizando cada 3 segundos. Muestra un resumen del estado de nuestro sistema y la lista de procesos que se están ejecutando. La salida que obtengo en mi ordenador es la siguiente:
Code Block |
---|
top - 12:50:01 up 62 days, 22:56, 5 users, load average: 4.76, 8.03, 4.34
Tasks: 412 total, 1 running, 411 sleeping, 0 stopped, 15 zombie
Cpu(s): 6.8%us, 3.8%sy, 0.2%ni, 74.4%id, 28.2%wa, 0.1%hi, 0.5%si, 0.0%st
Mem: 20599548k total, 18622368k used, 1977180k free, 375212k buffers
Swap: 6669720k total, 3536428k used, 3133292k free, 10767256k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26306 root 20 0 478m 257m 1900 S 3.9 1.3 0:08.21 nmis.pl
15522 root 20 0 626m 373m 2776 S 2.0 1.9 71:45.09 opeventsd.pl
27285 root 20 0 15280 1444 884 R 2.0 0.0 0:00.01 top
1 root 20 0 19356 308 136 S 0.0 0.0 1:07.65 init
2 root 20 0 0 0 0 S 0.0 0.0 0:02.14 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 17359:19 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 252:25.86 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 2233:33 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 340:35.60 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 5:23.87 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 214:57.35 watchdog/1 |
Es importante entender la salida del comando. El análisis línea por línea y luego en cada columna mostrada.
1. Tiempo de actividad y carga media del sistema
Code Block |
---|
top - 12:50:01 up 62 days, 22:56, 5 users, load average: 4.76, 8.03, 4.34 |
En la primera línea nos muestra:
- Hora actual.
- Tiempo que ha estado el sistema encendido.
- Número de usuarios (root).
- Carga media en intervalos de 5, 10 y 15 minutos respectivamente.
2. Tareas
Code Block |
---|
Tasks: 412 total, 1 running, 411 sleeping, 0 stopped, 15 zombie |
La segunda línea muestra el total de tareas y procesos, los cuales pueden estar en diferentes estados.
- Running (ejecutar): procesos ejecutándose actualmente o preparados para ejecutarse.
- Sleeping (hibernar): procesos dormidos esperando que ocurra algo (depende del proceso) para ejecutarse.
- Stopped (detener): ejecución de proceso detenida.
- Zombie: el proceso no está siendo ejecutado. Estos procesos se quedan en este estado cuando el proceso que los ha iniciado muere (padre).
3. Estados de la CPU
Code Block |
---|
Cpu(s): 6.8%us, 3.8%sy, 0.2%ni, 74.4%id, 28.2%wa, 0.1%hi, 0.5%si, 0.0%st |
Esta línea nos muestra los porcentajes de uso del procesador diferenciado por el uso que se le de.
- us (usuario): tiempo de CPU de usuario.
- sy (sistema): tiempo de CPU del kernel.
- id (inactivo): tiempo de CPU en procesos inactivos.
- wa (en espera): tiempo de CPU en procesos en espera, en este ejemplo se puede visualizar que se tienen un porcentaje muy alto en este valor por lo que nos debemos de preocupar.
- hi (interrupciones de hardware): interrupciones de hardware.
- si (interrupciones de software): tiempo de CPU en interrupciones de software.
4. Memoria física
Code Block |
---|
Mem: 20599548k total, 18622368k used, 1977180k free, 375212k buffers |
- Memoria total.
- Memoria utilizada.
- Memoria libre.
- Memoria utilizada por buffer.
5. Memoria virtual
Code Block |
---|
Swap: 6669720k total, 3536428k used, 3133292k free, 10767256k cached |
- Memoria total.
- Memoria usada.
- Memoria libre.
- Memoria en caché.
6. Columnas
Ahora vamos a ver las diferentes columnas que nos encontramos al ejecutar el comando.
Code Block |
---|
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26306 root 20 0 478m 257m 1900 S 3.9 1.3 0:08.21 nmis.pl
15522 root 20 0 626m 373m 2776 S 2.0 1.9 71:45.09 opeventsd.pl
27285 root 20 0 15280 1444 884 R 2.0 0.0 0:00.01 top
1 root 20 0 19356 308 136 S 0.0 0.0 1:07.65 init
2 root 20 0 0 0 0 S 0.0 0.0 0:02.14 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 17359:19 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 252:25.86 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 2233:33 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 340:35.60 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 5:23.87 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 214:57.35 watchdog/1 |
- PID: es el identificador de proceso. Cada proceso tiene un identificador único.
- USER (USUARIO): usuario propietario del proceso.
- PR: prioridad del proceso. Si pone RT es que se está ejecutando en tiempo real.
- NI: asigna la prioridad. Si tiene un valor bajo (hasta -20) quiere decir que tiene más prioridad que otro con valor alto (hasta 19).
- VIRT: cantidad de memoria virtual utilizada por el proceso.
- RES: cantidad de memoria RAM física que utiliza el proceso.
- SHR: memoria compartida.
- S (ESTADO): estado del proceso.
- %CPU: porcentaje de CPU utilizado desde la última actualización.
- %MEM: porcentaje de memoria física utilizada por el proceso desde la última actualización.
- TIME+ (HORA+): tiempo total de CPU que ha usado el proceso desde su inicio.
- COMMAND: comando utilizado para iniciar el proceso.
Server configuration option.
...