diciembre 17, 2021

Cómo comprobar la utilización de la memoria en Linux

Ver todas las preguntas frecuentes relacionadas con GNU/Linux

¿Cómo comprobar la utilización de la memoria en Linux mediante la línea de comandos y las opciones de interfaz gráfica de usuario?
Tenemos RAM física como 16 GB y memoria de intercambio. La memoria de intercambio no es más que espacio en disco que permite a su computadora Linux ejecutar más aplicaciones simultáneamente de las que caben en la memoria del sistema (RAM). Esta página explica varios comandos para comprobar el uso y la utilización de la memoria en Linux utilizando herramientas de línea de comandos y GUI.

ADVERTISEMENT

Comandos para comprobar la utilización de la memoria en Linux

Su sistema Linux debe ejecutarse a un nivel óptimo. La memoria juega un papel crítico en un sistema Linux. Un desarrollador o administrador de sistemas experimentado debe conocer la cantidad total de material físico libre y usado, incluida la memoria de intercambio en el servidor. Sería mejor que también vigilara los búferes y cachés utilizados por el núcleo.

El archivo/proc / meminfo

El archivo/proc / meminfo informa estadísticas sobre el uso de memoria en Linux. Utilice el comando cat / less o el comando grep / egrep de la siguiente manera en su caja de Linux:
cat /proc/meminfo
more /proc/meminfo

Cómo comprobar la utilización de la memoria en Linux
Cada línea del archivo /proc/meminfo consta de un nombre de parámetro, seguido de dos puntos, el valor del parámetro y una unidad de medida opcional. Por ejemplo, «kB».

Descripción de los parámetros de utilización de memoria

Campos tabla de descripción
Parámetro Descripción
MemTotal RAM total utilizable (p. ej., RAM física menos unos pocos bits reservados y el código binario del núcleo).
MemFree La suma de LowFree+HighFree.
MemAvailable (desde Linux 3.14) Una estimación de la cantidad de memoria disponible para iniciar nuevas aplicaciones, sin intercambio.
Búferes Almacenamiento relativamente temporal para bloques de disco sin procesar que no deberían ser tremendamente grandes (aproximadamente 20 MB).
Caché en memoria para archivos leídos desde el disco (caché de página). No incluye SwapCached.
SwapCached La memoria que una vez se intercambió, se vuelve a intercambiar, pero también se encuentra en el archivo de intercambio.
Memoria activa que se ha utilizado más recientemente y que normalmente no se recupera a menos que sea absolutamente necesario.
Memoria inactiva que se ha utilizado menos recientemente. Es más elegible para ser reclamado para otros fines.
HighTotal cantidad Total de highmem. Highmem es toda la memoria por encima de ~860 MB de memoria física. Las áreas Highmem son para uso de programas de espacio de usuario o para la caché de páginas. El núcleo debe usar trucos para acceder a esta memoria, haciendo que el acceso sea más lento que el de lowmem.
HighFree Cantidad de highmem.
LowFree Cantidad de lowmem.
SwapTotal cantidad Total de espacio de intercambio disponible.
SwapFree Cantidad de espacio de intercambio que está actualmente en desuso.
Memoria sucia que está esperando para volver a escribirse en el disco.
Memoria Writeback que se está escribiendo activamente en el disco.
Páginas anónimas Páginas sin respaldo de archivos asignadas a tablas de páginas de espacio de usuario.
Archivos mapeados que se han mapeado en memoria(con mmap (2)), como bibliotecas.
Shmem Cantidad de memoria consumida en sistemas de archivos tmpfs(5).
KReclaimable Asignaciones del núcleo que el núcleo intentará recuperar bajo presión de memoria. Incluye Reclaimable (abajo), y otras asignaciones directas con un encogedor.
Caché de estructuras de datos en el núcleo de Slab . (Véase slabinfo(5).)
SReclaimable Parte de la losa, que podría ser recuperada, como cachés.
SUnreclaim Parte de la losa, que no se puede recuperar con la presión de la memoria.
KernelStack Cantidad de memoria asignada a las pilas de kernel.
PageTables Cantidad de memoria dedicada al nivel más bajo de tablas de páginas.
NFS_Unstable Páginas NFS enviadas al servidor, pero que aún no se han comprometido a un almacenamiento estable.
Memoria Bounce utilizada para los «búferes de rebote»de dispositivos de bloque.
Memoria WritebackTmp utilizada por FUSE para búferes de escritura temporal.
CommitLimit Esta es la cantidad total de memoria disponible actualmente para ser asignada en el sistema, expresada en kilobytes. Este límite solo se cumple si se habilita la contabilidad estricta de sobrecompromiso (modo 2 en /proc/sys/vm/overcommit_memory). El límite se calcula de acuerdo con la fórmula descrita en /proc/sys/vm/overcommit_memory.
Committed_AS La cantidad de memoria actualmente asignado en el sistema. La memoria confirmada es una suma de toda la memoria que ha sido asignada por los procesos, incluso si no ha sido «utilizada» por ellos hasta ahora. Un proceso que asigna 1 GB de memoria (usando malloc(3) o similar), pero toca solo 300 MB de esa memoria, se mostrará como que usa solo 300 MB de memoria, incluso si tiene el espacio de direcciones asignado para todo el 1 GB. Este 1 GB es memoria a la que la máquina virtual ha» confiado » y la aplicación de asignación puede usarla en cualquier momento. Con el sobre compromiso estricto habilitado en el sistema (modo 2 en /proc/sys/vm / overcommit_memory), no se permitirán asignaciones que excedan el límite de compromiso. Esto es útil si se necesita garantizar que los procesos no fallarán debido a la falta de memoria una vez que la memoria se haya asignado correctamente.
VmallocTotal Tamaño total del área de memoria vmalloc.
VmallocUsed Cantidad de vmalloc área que se utiliza. Desde Linux 4.4, este campo ya no se calcula, y está codificado como 0. Véase /proc / vmallocinfo.
VmallocChunk Bloque contiguo más grande de área vmalloc que está libre. Desde Linux 4.4, este campo ya no se calcula y está codificado como 0. Véase /proc / vmallocinfo.
LazyFree Muestra la cantidad de memoria marcada por madvise(2) MADV_FREE.
AnonHugePages Páginas enormes sin respaldo de archivos asignadas a tablas de páginas de espacio de usuario.
ShmemHugePages Memoria utilizada por la memoria compartida (shmem) y tmpfs(5) asignados con páginas enormes
ShmemPmdMapped Memoria compartida asignada al espacio de usuario con páginas enormes.
CmaTotal Total de páginas CMA (Asignador de Memoria Contiguo).
CmaFree Páginas libres de CMA (Asignador de Memoria Contiguo).
HugePages_Total El tamaño del grupo de páginas enormes.
HugePages_Free El número de páginas enormes del grupo que aún no están asignadas.
HugePages_Rsvd Este es el número de páginas enormes para las que se ha hecho un compromiso de asignación del grupo, pero aún no se ha hecho ninguna asignación. Estas páginas enormes reservadas garantizan que una aplicación podrá asignar una página enorme del grupo de páginas enormes en el momento de la falla.
HugePages_Surap Este es el número de páginas enormes en el grupo por encima del valor en /proc/sys/vm/nr_hugepages. El número máximo de páginas enormes excedentes está controlado por / proc/sys/vm / nr_overcommit_hugepages.
Tamaño de página El tamaño de páginas enormes.
DirectMap4k Número de bytes de RAM asignados linealmente por el núcleo en páginas de 4 Kb.
DirectMap4M Número de bytes de RAM asignados linealmente por el núcleo en páginas de 4 MB.
DirectMap2M Número de bytes de RAM asignados linealmente por el núcleo en páginas de 2 MB.
DirectMap1G x86 con CONFIG_X86_64 y CONFIG_X86_DIRECT_GBPAGES habilitadas.

Podemos filtrar el archivo usando el comando grep o el comando egrep de la siguiente manera:
grep -E --color 'Mem|Cache|Swap' /proc/meminfo
Archivo Linux proc meminfo

Utilizando el comando free para comprobar la utilización de memoria usada y libre

La salida de/proc / meminfo es potente pero no fácil de usar. Por lo tanto, debemos usar el comando libre. El comando free muestra la cantidad de memoria libre y usada en el sistema Linux. Por ejemplo:
free
¿Quieres ver la salida legible por humanos? Trate de:
free -h
free --human

ejemplos de productos:

 total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
Las columnas que se muestran son de la siguiente manera:
la Columna Descripción
total Total de memoria instalada
utiliza memoria en uso (calculado como el total de la libre – tampones – cache)
gratis memoria no utilizada (MemFree y SwapFree en /proc/meminfo)
compartida Memoria utilizada principalmente por tmpfs (Shmem en /proc/meminfo)
los búferes Memoria usada por el kernel de amortiguadores (Buffers en /proc/meminfo)
caché Memoria utilizada por el caché de la página y losas (En caché y recuperables en/proc / meminfo)
buff / caché Suma de buffers y caché
disponible Estimación de la cantidad de memoria disponible para iniciar nuevas aplicaciones, sin intercambio.

Podemos repetir la salida de comandos libres de impresión cada N segundos. Por ejemplo, imprima la salida cada 5 segundos y salga después de diez repeticiones (recuentos) en pantalla:
free -s 5 -c 10
Podemos controlar la salida del comando libre de la siguiente manera:
free
free -k
free -g
free -m

el Control de la libre salida del comando
Opción Mostrar la salida en
-b, –bytes
–kilo kilobytes
–mega megabytes
–giga gigabytes
–tera terabytes
–peta petabytes
-k, –kibi kibibytes
-m, –mebi mebibytes
-g, — gibi gibibytes
–tebi tebibytes
–pebi pebibytes

comando vmstat

El comando vmstat es potente y muestra información sobre el hardware Linux, como:

  • Procesos
  • Memoria
  • Paginación
  • Bloquear IO
  • Trampas
  • Discos
  • Actividad de CPU

Abra el terminal y escriba el siguiente comando:
vmstat
Sesión de ejemplo desde mi escritorio Ubuntu Linux:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11434840 2567516 10238916 0 0 26 75 142 55 13 5 82 0 0

Pase el-w para ver una salida amplia en la pantalla:
vmstat -w

procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11405404 2567988 10324528 0 0 26 75 142 58 13 5 82 0 0

DESCRIPCIÓN DE CAMPO PARA EL MODO VM (Memoria e Intercambio)
Campo Descripción
swpd la cantidad de memoria virtual utilizada.
free la cantidad de memoria inactiva.
buff la cantidad de memoria utilizada como amortiguadores.
caché la cantidad de memoria utilizada como memoria caché.
inact la cantidad de memoria inactiva. (opción-a)
activo la cantidad de memoria activa. (opción-a)
si Cantidad de memoria intercambiada desde el disco (/s).
así que Cantidad de memoria intercambiada a disco (s).

comando superior y htop

Los comandos superior y htop proporcionan una vista dinámica en tiempo real de un sistema Linux en ejecución. Esto incluye información sobre:

Guías de solo partidarios de Patreon🤓
  • Sin anuncios y seguimiento
  • Guías detalladas para desarrolladores y administradores de sistemas en Opensourceflare
  • Únase a mi Patreon para apoyar a creadores de contenido independientes y comenzar a leer las guías más recientes:
    • Cómo configurar el clúster de Redis sentinel en Ubuntu o Debian Linux
    • Cómo configurar claves SSH Con YubiKey como autenticación de dos factores (U2F/FIDO2)
    • Cómo configurar el clúster Mariadb Galera en Ubuntu o Debian Linux
    • Un tutorial de podman para principiantes-parte I (ejecutar contenedores Linux sin Docker y en modo sin demonios)
    • Cómo proteger Linux contra dispositivos USB falsos usando USBGuard
    • Si su dominio no está enviando correo electrónico, configure estos ajustes de DNS para evitar la suplantación de identidad y el phishing

Únete a Patreon

  • Utilización de hardware y CPU
  • Tiempo de actividad de Linux
  • Utilización de memoria e intercambio
  • Procesos del sistema y más

Tenga en cuenta que htop no está instalado de forma predeterminada. Pero puede instalarlo en CentOS, Debian, Ubuntu y otros sistemas operativos fácilmente.

Ejecute el siguiente comando:
top
htop

Reporte el uso de memoria con memoria compartida dividida proporcionalmente

Los informes de la herramienta smem:

  • Uso de memoria física teniendo en cuenta las páginas de memoria compartida. La memoria no compartida se informa como el USS (Tamaño de conjunto único).
  • La memoria compartida se divide de manera uniforme entre los procesos que comparten esa memoria.
  • La memoria no compartida (USS) más la proporción de memoria compartida de un proceso se reporta como PSS (Tamaño de conjunto proporcional).
  • El USS y el PSS solo incluyen el uso de memoria física. No incluyen la memoria que se ha intercambiado en disco.
  • La memoria puede ser reportada por un proceso, por un usuario, por mapeo o por todo el sistema. Tanto el modo de texto como la salida gráfica están disponibles.

Se puede instalar smem usando el comando apt / apt-get en un Linux Debian/Ubuntu:
sudo apt install smem
Ejecútelo de la siguiente manera:
smem
# show whole system #
smem -w
# show meme usage about specifc user #
smem -u vivek
smem -u nginx
# get help #
man smem
smem --help

User Count Swap USS PSS RSS vivek 139 0 7593240 8210344 13017360

Comprobación de la utilización de memoria en Linux mediante la interfaz gráfica de usuario

System Monitor es una aplicación de interfaz gráfica de usuario para Linux que le muestra qué programas se están ejecutando y cuánto tiempo de procesador, memoria y espacio en disco se están utilizando. Podemos abrir el Monitor del sistema desde la vista general de Actividades. Presiona la Súper tecla de tu teclado. Puede ver sus ventanas y aplicaciones en la descripción general. También puede comenzar a escribir para buscar en sus aplicaciones, como System Monitor. La pestaña Recursos le indica cuánta memoria (RAM) de su computadora se está utilizando. Para comprobar qué procesos utilizan más memoria: Haga clic en la pestaña Procesos. Haga clic en el encabezado de la columna de memoria para ordenar los procesos según el uso de memoria.

Consulte la documentación para obtener más información.

Resumiendo

Aprendió a encontrar la utilización de la memoria de Linux (RAM) en Linux mediante herramientas GUI y CLI.

🐧 Obtenga los últimos tutoriales sobre Linux, Código abierto & DevOps a través de
feed RSS newsletter Boletín semanal por correo electrónico➔

PUBLICIDAD

Categoría Lista de comandos de Unix y Linux
Gestores de descargas wget
Documentación ayuda * mandb * man * pinfo
Analizadores de espacio en disco df * duf * ncdu * pydf
Gestión de archivos cat * cp * menos • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Desktop apps Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
el Administrador de Paquetes apk • apt
la Gestión de Procesos de bg • chroot • cron • ignorar • fg • miradas • gtop • iotop • puestos de trabajo • killall • matar • pidof • pstree • pwdx • tiempo • vtop
Buscando ag • grep • whereis • que
Shell builtins compgen • echo • printf
de procesamiento de Texto corte • rev
la Información del Usuario grupos • id • lastcomm • último * lid / libuser-lid * logname * miembros * usuarios * whoami * who * w
WireGuard VPN Alpine * CentOS 8 • Debian 10 * Firewall * Ubuntu 20.04

Deja una respuesta

Tu dirección de correo electrónico no será publicada.