Cómo verificar el uso de RAM en Linux

1 mar 2021 4 min di lettura
Cómo verificar el uso de RAM en Linux
Indice dei contenuti

Introducción

Al solucionar problemas de ralentización o mal comportamiento del sistema o de las aplicaciones, una de las primeras cosas que hay que comprobar es el uso de la memoria del sistema.

Este artículo explica cómo verificar el uso de RAM en Linux usando diferentes comandos.

Si desea verificar la RAM en un servidor remoto, siga leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Comando gratis

free es el comando más utilizado para verificar el uso de memoria de un sistema Linux. Muestra información sobre la memoria total, usada y libre.

Generalmente, free se invoca con la -h que significa imprimir la salida en formato legible por humanos:

free -h
 total used free shared buff/cache available
 Mem: 1.9Gi 449Mi 166Mi 0.0Ki 1.3Gi 1.3Gi
 Swap: 0B 0B 0B

Esto es lo que significa cada columna:

  • total: la cantidad total de memoria que pueden utilizar las aplicaciones.
  • utilizado: memoria utilizada. Se calcula como: used = total - free - buffers - cache
  • free: memoria libre /no utilizada.
  • compartido: esta columna se puede ignorar; se muestra solo por compatibilidad con versiones anteriores.
  • buff /cache: la memoria combinada utilizada por el kernel y los búferes de caché y losas de página. Esta memoria se puede recuperar en cualquier momento si las aplicaciones lo necesitan.
  • disponible: memoria disponible estimada para iniciar nuevas aplicaciones, sin intercambiar.

El free imprime información para la memoria física y el intercambio del sistema.

Comando superior

top es una utilidad de línea de comandos que muestra información en tiempo real sobre los procesos en ejecución. También muestra el resumen del sistema, incluido el uso de la memoria.

Para invocar el comando, simplemente escriba top:

top

La salida se verá así:

top - 18:04:15 up 6 days, 4:27, 1 user, load average: 0.00, 0.01, 0.00
 Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie
 %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
 MiB Mem: 1939.7 total, 166.0 free, 450.4 used, 1323.4 buff/cache
 MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1321.5 avail Mem

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
 100985 jenkins 20 0 2639512 382876 30480 S 0.3 19.3 7:19.48 java
 1 root 20 0 168636 12588 8416 S 0.0 0.6 0:58.16 systemd
 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd
 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
 10 root 20 0 0 0 0 S 0.0 0.0 0:09.42 ksoftirqd/0
 11 root 20 0 0 0 0 I 0.0 0.0 0:16.22 rcu_sched
 12 root rt 0 0 0 0 S 0.0 0.0 0:04.52...

El encabezado de salida incluye información sobre la memoria física y de intercambio total, libre y usada del sistema.

La %MEM proporciona información sobre el uso compartido de memoria física disponible para cada proceso en ejecución.

Comando /proc /meminfo

La forma más sencilla de comprobar el uso de RAM es ver el contenido del archivo virtual /proc/meminfo. Este archivo es utilizado por free, top, ps y otros comandos del sistema de información.

Use less o cat para ver el contenido del /proc/meminfo:

cat /proc/meminfo

El archivo incluye una gran cantidad de información sobre la memoria del sistema y el uso de intercambio:

MemTotal: 1986280 kB
 MemFree: 170428 kB
 MemAvailable: 1353864 kB
 Buffers: 85156 kB
 Cached: 1190784 kB
 SwapCached: 0 kB
 Active: 916192 kB
 Inactive: 764900 kB
 Active(anon): 405576 kB
 Inactive(anon): 300 kB
 Active(file): 510616 kB
 Inactive(file): 764600 kB
 Unevictable: 0 kB
 Mlocked: 0 kB
 SwapTotal: 0 kB
 SwapFree: 0 kB
 Dirty: 216 kB
 Writeback: 0 kB
 AnonPages: 405196 kB
 Mapped: 87620 kB
 Shmem: 724 kB...

La información del /proc/meminfo se puede analizar y utilizar en scripts de shell.

Secuencia de comandos ps_mem

ps_mem es un script de Python que informa el uso de RAM por programa. Funciona con Python 2 y 3 y se puede instalar con pip:

sudo pip3 install ps_mem

La ejecución de ps_mem requiere privilegios de administrador:

sudo ps_mem

La salida incluirá el uso de memoria de cada programa en ejecución en orden ascendente:

 Private + Shared = RAM used Program

 104.0 KiB + 186.0 KiB = 290.0 KiB none
 204.0 KiB + 380.0 KiB = 584.0 KiB atd
 384.0 KiB + 474.0 KiB = 858.0 KiB daemon
 320.0 KiB + 600.0 KiB = 920.0 KiB cron
 380.0 KiB + 896.0 KiB = 1.2 MiB agetty (2)
 632.0 KiB + 1.2 MiB = 1.8 MiB qemu-ga
 1.1 MiB + 1.8 MiB = 2.9 MiB dbus-daemon
 1.0 MiB + 2.1 MiB = 3.1 MiB systemd-timesyncd
 1.3 MiB + 1.9 MiB = 3.2 MiB sudo
 1.9 MiB + 2.2 MiB = 4.1 MiB systemd-udevd
 980.0 KiB + 3.3 MiB = 4.2 MiB polkitd...

Esta secuencia de comandos es útil cuando desea averiguar qué programa en ejecución ocupa la mayor parte de la memoria del sistema.

Conclusión

Le mostramos varios comandos que puede usar para verificar el uso de la memoria del sistema.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.