Cómo comprobar el uso de la memoria de Linux

How Check Linux Memory Usage



La memoria o RAM (memoria de acceso aleatorio) es muy importante para una computadora. Los programas que ejecuta en su computadora almacenan pequeños bits de información en la RAM para que pueda acceder a ella cuando sea necesario lo más rápido posible.

La RAM es muy rápida y está más cerca de la CPU (Unidad Central de Procesamiento) de la computadora. Como la RAM está más cerca de la CPU de la computadora, la CPU tiene acceso directo a la RAM. Por lo tanto, la latencia de acceso a los datos es muy pequeña en comparación con los dispositivos de almacenamiento como HDD o SSD. Es por eso que todos los programas usan RAM para almacenar datos de caché.







Desafortunadamente, la RAM es muy cara y limitada. Sin suficiente RAM libre, su computadora no funcionará correctamente. Los programas en ejecución de su computadora pueden bloquearse o detenerse. Es posible que no pueda iniciar ningún programa nuevo. En el peor de los casos, todo su sistema se bloqueará y quedará inutilizable.



Verificar el uso de RAM es una de las tareas más importantes en Linux. Puede diagnosticar muchos problemas de Linux si puede controlar el uso de RAM de su sistema Linux.



Hay muchas herramientas para verificar el uso de la memoria en Linux. En este artículo, le mostraré algunas de las formas más comunes de verificar el uso de memoria en Linux. Entonces empecemos.





Las unidades de la memoria de la computadora:

En este artículo, me verá usando los términos kilobytes, megabytes, gigabytes, kibibytes, mebibytes, gibibytes, etc. No se confunda. Los explicaré en esta sección.

Todos los almacenamientos informáticos utilizan la misma unidad. Esto es muy importante de entender.



Las unidades de almacenamiento de la computadora se dan a continuación.

  • Poco: La unidad más pequeña de almacenamiento de computadora es un bit. Un bit puede contener un 0 o un 1. Eso es todo.
  • Byte: 8 bits forman un byte.
  • Kilobytes: 1,000 bytes forman un kilobyte.
  • Megabyte: 1,000 kilobytes forman un megabyte.
  • Gigabyte: 1,000 megabytes forman un gigabyte.
  • Terabyte: 1,000 gigabytes forman un terabyte.
  • Petabyte: 1,000 terabytes forman un petabyte.
  • kibibytes: 1.024 bytes forman un kibibyte.
  • Mebibyte: 1.024 kibibytes forman un mebibyte.
  • Gibibyte: 1.024 mebibytes forman un gibibyte.
  • Tebibyte: 1.024 gibibytes forman un tebibyte.
  • Pebibyte: 1.024 tebibytes forman un pebibyte.

En términos de bytes, las unidades de almacenamiento de la computadora son las siguientes.

  • Kilobytes: 1000 bytes o 103bytes.
  • Megabyte: 1.000.000 bytes o 106bytes.
  • Gigabyte: 1,000,000,000 bytes o 109bytes.
  • Terabyte: 1,000,000,000,000 bytes o 1012bytes.
  • Petabyte: 1,000,000,000,000,000 bytes o 1015bytes.
  • kibibytes: 1024 bytes o 210bytes.
  • Mebibyte: 1.048.576 bytes o 220bytes.
  • Gibibyte: 1,073,741,824 bytes o 230bytes.
  • Tebibyte: 1.099.511.627.776 bytes o 240bytes.
  • Pebibyte: 1.125.899.906.842.624 o 250bytes.

Ahora que conoce las unidades de almacenamiento de la computadora, debería poder convertir de una unidad a otra muy fácilmente.

Tenga en cuenta que kilobyte, megabyte, gigabyte, terabyte y petabyte son potencias de 10 bytes. Pero, kibibyte, mebibyte, gibibyte, tebibyte y pebibyte son potencias de 2 bytes. Para nosotros, los humanos, es fácil calcular en potencias de 10 (sistema de numeración decimal) ya que tenemos 10 dedos. Pero, para las computadoras, es más fácil calcular en potencias de 2 (sistema numérico binario). Entonces, las computadoras usan potencias de 2 para representar la cantidad de almacenamiento o memoria.

Las unidades tienen notaciones o símbolos taquigráficos. Los verá con mucha frecuencia al comprobar el uso de la memoria en Linux.

Las notaciones taquigráficas o los símbolos se proporcionan a continuación.

  • Bytes: B
  • Kilobytes: KB o kB
  • Megabyte: MB
  • Gigabyte: GB
  • Terabyte: ADEMÁS
  • Petabyte: PB
  • Bytes: B
  • kibibytes: KiB o K
  • Mebibyte: MiB o M
  • Gibibyte: GiB o G
  • Tebibyte: TiB o T
  • Pebibyte: PiB o P

Es posible que algunos programas no sigan este estándar y utilicen estas abreviaturas o símbolos indistintamente. La diferencia no es tanta entre estas unidades (es decir, kilobyte vs kibibyte) de todos modos. No se preocupe por eso.

Memoria vs intercambio en Linux:

En Linux, la memoria física se llama memoria . Cuando la memoria física se llena, Linux mueve de forma inteligente los datos a los que se accede con menos frecuencia desde la memoria a una parte específica del disco (HDD o SSD). Esta parte del disco se llama intercambio.

Cuando no hay memoria física libre disponible, algunos datos de acceso con menos frecuencia se mueven al intercambio. Esto libera la memoria física y, por lo tanto, evita que el sistema se bloquee.

El disco de intercambio es muy lento en comparación con la RAM o la memoria física. Si un sistema Linux usa mucho espacio de intercambio, el sistema puede volverse muy lento y no responder. Entonces, un sistema Linux no debería usar el espacio de intercambio. Queremos evitarlo tanto como sea posible. Cuando un sistema Linux comienza a llenar el espacio de intercambio, es una señal de que el sistema Linux necesita más memoria física. Es una buena idea agregar más RAM o memoria física al sistema.

Comprobación del uso de memoria con gratis:

gratis es un comando que muestra la información de uso total de la memoria del sistema. gratis se envía con casi toda la distribución de Linux por defecto.

Puede comprobar el uso de la memoria con el gratis comando de la siguiente manera:

$gratis

los gratis comando sin ninguna opción de línea de comando muestra la memoria y la información de uso de intercambio en la unidad Kibibytes.

Por defecto, el gratis El comando muestra los búferes y el uso de la memoria caché en el beneficio / caché columna. Si desea ver los búferes y la memoria caché por separado, ejecute el comando free con el -en opción de la siguiente manera:

$gratis -en

Como puede ver, el amortiguadores y cache La información sobre el uso de la memoria se muestra en diferentes columnas.

El comando gratuito muestra la siguiente información:

total: Esta es la memoria física total disponible y el espacio de intercambio (en kibibytes) de su sistema Linux.

usó: Esta es la cantidad de memoria física y espacio de intercambio que utiliza su sistema Linux. Observe que se usa 0 KiB de espacio de intercambio en mi máquina Ubuntu. Entonces, no está usando swap en absoluto. Eso es muy bueno.

gratis: Esta es la cantidad de memoria física que aún no se utiliza.

compartido: Esta es la cantidad de memoria que comparten diferentes procesos o programas. Uno o más programas de Linux pueden usar la misma biblioteca o llamadas de función. En lugar de asignar memoria varias veces para las mismas cosas, Linux comparte inteligentemente las cosas comunes entre estos procesos o programas. Esto ahorra memoria física. los tmpfs sistemas de archivos (es decir / dev / shm , /correr , / ejecutar / bloquear , / ejecutar / usuario / , / sys / fs / cgroup etc.) también usan algo de memoria física que se comparte con todos los procesos y programas en Linux.

tampones: Esta es la cantidad de memoria que utilizan los búferes del kernel. Un búfer es un bloque de memoria donde los datos se guardan temporalmente mientras se mueven datos de un lugar a otro.

cache: Esta es la cantidad de memoria física que se utiliza para los datos de la caché.

beneficio / caché: Esta es la cantidad total de memoria física utilizada para búferes y caché.

disponible: Esta es la memoria física disponible estimada que se puede utilizar para iniciar nuevas aplicaciones sin intercambiar.

También puede usar varias opciones de línea de comandos para ver la memoria e intercambiar información de uso en diferentes unidades.

Por ejemplo, para ver la memoria y la información de uso de intercambio en bytes, ejecute el gratis comando con el -b o –bytes opción de la siguiente manera:

$gratis -b

Para ver la información de uso de memoria e intercambio en kibibytes (predeterminado), ejecute el gratis comando con el -para o –Kibi opción de la siguiente manera:

$gratis -para

Para ver la información de uso de memoria e intercambio en mebibytes, ejecute el gratis comando con el -metro o –Mebi opción de la siguiente manera:

$gratis -metro

Para ver la información de uso de memoria e intercambio en gibibytes, ejecute el gratis comando con el -gramo o -como opción de la siguiente manera:

$gratis -gramo

Del mismo modo, puede utilizar el -para ti y –Pebi opciones de la línea de comandos para mostrar la memoria y la información de uso de intercambio en tebibytes y pebibytes respectivamente.

Si desea mostrar la memoria e intercambiar información de uso en kilobytes, ejecute el gratis comando con el -kilo opción de la siguiente manera:

$gratis --kilo

Si desea mostrar la memoria e intercambiar información de uso en megabytes, ejecute el gratis comando con el –mega opción de la siguiente manera:

$gratis --mega

Si desea mostrar la información de uso de la memoria e intercambiar en gigabytes, ejecute el gratis comando con el –Giga opción de la siguiente manera:

$gratis --giga

Del mismo modo, puede utilizar el –Tera y -mapa opciones de línea de comandos para mostrar la memoria e intercambiar información de uso en terabytes y petabytes respectivamente.

los gratis El comando también tiene una opción de salida legible por humanos. Esta opción imprimirá una memoria muy fácil de entender (para humanos) e intercambiará información de uso en la pantalla.

Para una salida legible por humanos, ejecute el gratis comando con el -h o -humano opción de la siguiente manera:

$gratis -h

Como puede ver, el formato legible por humanos es realmente fácil de entender.

los -h o -humano La opción imprime la información de uso de memoria e intercambio en bytes, kibibytes, mebibytes, gibibytes, tebibytes o pebibytes de forma predeterminada. Estas unidades utilizan la base 2 o el sistema numérico binario (potencias de 2).

Si desea ver la salida legible por humanos en base 10 o sistema numérico decimal (potencias de 10), ejecute el comando libre con -h o -humano opción de línea de comandos, así como –si opción de línea de comandos de la siguiente manera:

$gratis --humano --si

los gratis El comando imprimirá la memoria e intercambiará información de uso en bytes, kilobytes, megabytes, gigabytes, terabytes o petabytes. Estas unidades utilizan el sistema numérico de base 10 o decimal (potencias de 10).

Si desea mostrar la memoria total y la información de uso de intercambio, ejecute el comando gratuito con la opción -t o –total de la siguiente manera:

$gratis -t

Como puede ver, la información de uso total de la memoria (física + intercambio) se muestra al final de la salida.

También puede ejecutar el gratis comando en modo de monitorización. En este modo, el gratis El comando imprimirá continuamente la memoria e intercambiará información de uso después de un intervalo de tiempo determinado (en segundos).

Puedes ejecutar el gratis comando en modo de monitorización con el -s o -segundos opción de línea de comandos de la siguiente manera:

$gratis -s <demora>

O,

$gratis-segundos<demora>

Aquí, es el número de segundos después de los cuales se imprimirá en la pantalla la nueva información sobre el uso de la memoria y el intercambio.

Por ejemplo, para imprimir memoria e intercambiar información de uso de forma continua en un intervalo de 5 segundos, ejecute el comando free de la siguiente manera:

$gratis -s 5

Como puede ver, la información de uso de la memoria y el intercambio se imprime cada 5 segundos.

Si quieres detener el gratis comando, presione + C .

En el modo de monitorización, el gratis El comando imprimirá continuamente la memoria e intercambiará información de uso de forma predeterminada. Puedes usar el -c o -contar opción de línea de comandos para limitar el número de veces que se imprime en la pantalla información nueva de memoria y uso de intercambio.

Por ejemplo, para imprimir la memoria e intercambiar información de uso 5 veces en un intervalo de 10 segundos, ejecute el gratis comando de la siguiente manera:

$gratis -s 10 -c 5

Como puede ver, el gratis El comando imprimió la información de uso de memoria e intercambio solo 5 veces en un intervalo de 10 segundos.

Eso es casi todo lo que necesita saber para verificar la memoria e intercambiar el uso con el gratis mando. Pero, si desea saber más, consulte la página de manual del gratis comando de la siguiente manera:

$hombre gratis

La página de manual del gratis Debería mostrarse el comando.

Comprobación del uso de memoria mediante la lectura del archivo / proc / meminfo:

También puede verificar la información de uso de memoria de su sistema Linux leyendo el / proc / meminfo expediente.

Puedes leer el / proc / meminfo archivo con el siguiente comando:

$gato /por ciento/meminfo

El archivo tiene mucha información sobre el uso de memoria. Los usos de la memoria están en la unidad de kibibytes.

La información de uso de memoria más importante en el / proc / meminfo archivo son:

MemTotal: Esta es la memoria total instalada o la memoria física (RAM) del sistema Linux.

MemFree: Esta es la cantidad de memoria física (RAM) no utilizada.

MemDisponible: Esta es la cantidad estimada de memoria física (RAM) disponible para nuevos programas.

Tampones: Esta es la cantidad de memoria física reservada para los búferes del kernel. Los búferes se utilizan para almacenar datos temporalmente mientras se mueven de una ubicación a otra.

En caché: Esta es la cantidad de memoria física utilizada como memoria caché.

SwapCached: Esta es la cantidad de memoria que se movió al disco de intercambio y se movió nuevamente a la RAM física. Pero los datos todavía se almacenan en caché en el disco de intercambio.

Activo: Esta es la cantidad de memoria física que se está utilizando y, por lo general, no se puede recuperar a menos que sea necesario.

Inactivo: Esta es la cantidad de memoria física que se está utilizando y que otros procesos o programas pueden recuperar fácilmente si es necesario.

Activo (anon): Esta es la cantidad de memoria física utilizada por los sistemas de archivos tmpfs anónimos y la memoria compartida.

Inactivo (anon): Esta es la cantidad de memoria física que utilizan los sistemas de archivos tmfs anónimos y la memoria compartida que se puede recuperar.

Activo (archivo): Esta es la cantidad de memoria caché que se utiliza activamente.

Inactivo (archivo): Esta es la cantidad de memoria caché recién cargada o recuperable.

Imposible de vencer: Esta es la cantidad de memoria que no se puede recuperar porque está bloqueada por programas de usuario.

Mlocked: Esta es la cantidad total de memoria que no se puede recuperar porque está bloqueada por programas de usuario.

SwapTotal: Este es el tamaño total del disco de intercambio.

SwapFree: Esta es la cantidad de espacio de intercambio que está libre.

Sucio: La cantidad total de memoria que está esperando a que se vuelva a escribir en el disco.

Respóndeme: La cantidad total de memoria que se vuelve a escribir en el disco.

AnonPages: La cantidad total de memoria utilizada por las páginas y se asigna a las tablas de páginas del espacio de usuario.

Mapeado: La cantidad de memoria que se utiliza para archivos que han sido mapeados por el kernel de Linux, como las bibliotecas utilizadas por diferentes programas.

Ejemplo: Esta es la cantidad de memoria que comparten y utilizan los sistemas de archivos tmpfs.

KRecuperable: La cantidad de memoria que reclama el kernel y que se puede recuperar cuando sea necesario.

Losa: Esta es la cantidad de memoria que utiliza el kernel para almacenar en caché las estructuras de datos para el uso del kernel.

S Recuperable: Esta es la cantidad de memoria del Slab que se puede recuperar.

SUnreclaim: Esta es la cantidad de memoria del Slab que no se puede recuperar incluso cuando sea necesario.

KernelStack: Esta es la cantidad de memoria que se utiliza para la asignación de la pila del kernel.

Tablas de páginas: Esta es la cantidad de memoria dedicada a las tablas de páginas. Una tabla de páginas es una estructura de datos utilizada por una computadora para mapear entre la memoria virtual y la memoria física.

Bote: Esta es la cantidad de memoria utilizada para el búfer de los dispositivos de bloque (es decir, dispositivos de almacenamiento como HDD o SSD).

WritebackTmp: La cantidad de memoria que se utiliza para los búferes de escritura diferida temporales de FUSE.

Hay mucha otra información sobre el uso de la memoria en el / proc / meminfo expediente. Si está interesado, puede echar un vistazo a lo que son en la página de manual de por ciento .

Para abrir la página de manual de por ciento , ejecute el siguiente comando:

$hombre 5por ciento

Se debe abrir la página de manual de proc.

Escribir / proc / meminfo y presione . Debería llevarlo a la sección / proc / meminfo como puede ver en la captura de pantalla a continuación. Encontrará descripciones de cada campo en el / proc / meminfo archivar aquí.

Comprobando el uso de memoria usando top:

los cima es un programa que muestra los procesos en ejecución y su uso de recursos en tiempo real. los cima viene preinstalado en la mayoría de las distribuciones de Linux.

Tu puedes correr cima con el siguiente comando:

$cima

los cima el programa debería comenzar. En la sección superior del cima programa como se marca en la captura de pantalla a continuación, debería ver el resumen de uso de memoria e intercambio en la unidad mebibytes (predeterminado).

los cima El comando mostrará la siguiente información de la memoria física:

total: La memoria física total disponible del sistema.

gratis: La cantidad de memoria física aún sin usar.

usó: La cantidad de memoria física utilizada por el sistema.

beneficio / caché: La cantidad de memoria física utilizada como memoria caché y búfer.

aprovechar Mem: La cantidad de memoria física disponible para nuevos programas.

los cima El comando mostrará la siguiente información de intercambio:

total: La memoria de intercambio disponible total del sistema.

gratis: La cantidad de memoria de intercambio libre del sistema.

usó: La cantidad de memoria de intercambio utilizada por el sistema.

Puedes presionar metro para cambiar entre diferentes modos de resumen de uso de memoria.

Por ejemplo, presionando metro una vez cambiará al siguiente modo. En este modo, el cima muestra la memoria física y la información de uso de intercambio como percent_memory_used / total_memory_in_mebibytes .

Prensado metro nuevamente cambiará el estilo de la barra de progreso. La información será la misma que antes.

los cima El comando también muestra información sobre el uso de la memoria para cada uno de los procesos que se ejecutan en su computadora en tiempo real. El comando superior muestra información de uso de memoria de los procesos en la unidad de kibibytes por defecto.

Por defecto, el cima El comando muestra la siguiente información sobre el uso de la memoria:

RESPETADO: Este es el tamaño de la memoria virtual del proceso. La memoria virtual es la memoria física y de intercambio total utilizada por el proceso.

RES: Este es el tamaño de memoria residente del proceso. La memoria residente es la cantidad de memoria física que utiliza el proceso.

SHR: Este es el tamaño de memoria compartida del proceso. Esta es la cantidad de memoria que utiliza el proceso y que también se comparte con algunos otros procesos.

% MEM: El porcentaje de memoria física que está usando el proceso.

Puede configurar el cima comando para mostrar más información sobre el uso de la memoria, como,

CÓDIGO: Este es el tamaño de código del proceso. Es la cantidad de memoria física dedicada al código ejecutable del proceso. También se conoce como Text Resident Set o TRS.

DATOS: Estos son los datos y el tamaño de la pila del proceso. Es la cantidad de memoria reservada por un proceso. Es posible que aún no se haya asignado a la memoria física. Pero siempre aparecerá en la memoria virtual (VIRT) del proceso. También se conoce como conjunto de datos residentes o DRS.

RSan: Este es el tamaño de memoria anónimo residente del proceso. Es un subconjunto de la memoria física (RES) que representa páginas privadas que aún no están asignadas a un archivo.

RSfd: Este es el tamaño de memoria residente respaldado por archivos del proceso. Es un subconjunto de la memoria física (RES) que representa páginas compartidas e imágenes de programas de apoyo, bibliotecas compartidas, asignaciones de archivos, etc.

RSsh: Este es el tamaño de memoria compartida residente del proceso. Es un subconjunto de la memoria física (RES) que representa páginas anónimas compartidas.

RSlk: Este es el tamaño de memoria bloqueada residente del proceso. Es la cantidad de memoria física (RES) que no se puede intercambiar. Debe permanecer en la memoria física.

INTERCAMBIO: Este es el tamaño intercambiado del proceso. Es la cantidad de información de la memoria física (RES) que se mueve al espacio del disco de intercambio desde la memoria física.

USÓ: Esta es la cantidad total de memoria (física + intercambio) que está usando el proceso.

USADO = RES + SWAP.

Tenga en cuenta que la memoria física (RES) utilizada por un proceso es la suma del tamaño de la memoria anónima residente (RSan), el tamaño de la memoria respaldada por archivos del residente (RSfd) y el tamaño de la memoria compartida residente (RSsh).

RES = RSan + RSfd + RSsh

Para habilitar estas columnas de información de memoria, ejecute cima y presione F .

Use las teclas de flecha para navegar a las columnas marcadas y presione el para alternarlo. Las columnas habilitadas tendrán un * marca a la izquierda.

Una vez que haya terminado, presione q para volver a la ventana superior de supervisión del proceso. Como puede ver, se muestran las columnas de información de uso de memoria SWAP, CODE, DATA, USED, RSan, RSfd, RSlk, RSsh.

Por defecto, el cima El comando muestra información sobre el uso de la memoria en la unidad kibibyte. Si desea ver la información de uso de la memoria en una unidad diferente como mebibyte, gibibyte, tebibyte o pebibyte, también puede hacerlo.

Para alternar entre diferentes unidades de memoria (kibibyte, mebibyte, gibibyte, tebibyte o pebibyte), ejecute top y presione Y .

cima la información de uso de la memoria se muestra en mebibytes.

cima la información de uso de la memoria se muestra en gibibytes.

cima la información de uso de la memoria se muestra en tebibytes.

cima la información de uso de la memoria se muestra en pebibytes.

Muchos procesos se ejecutan en su sistema operativo Linux. El comando superior no puede mostrarlos todos a la vez. Puede mantener pulsado el y teclas de flecha para navegar por la lista de procesos cima Aparece el comando.

También puede ordenar la salida del comando superior por una columna específica.

Supongamos que desea ver qué proceso utiliza la mayor cantidad de espacio de intercambio. Para hacer eso, corre cima y presione F .

Luego, seleccione la columna SWAP usando las teclas de flecha de su teclado y presione s .

El campo de clasificación del cima El comando debe cambiarse a SWAP. prensa q para volver a la ventana de supervisión del proceso.

Como puede ver, los procesos que utilizan más espacio de intercambio se enumeran primero.

Una vez que haya configurado el cima comando, puede presionar + en para guardar la configuración en un toprc archivo de configuración. De esta forma, no es necesario volver a configurar el cima cada vez que lo use.

Comprobación del uso de memoria mediante htop:

htop es un visor de procesos en tiempo real de Linux como el cima . Pero el htop tiene características adicionales que cima no. La nueva característica más obvia de htop es el resaltado de sintaxis y una mejor interfaz de usuario. Puedes decir htop es un extendido cima .

Como el cima , htop no está preinstalado en la mayoría de las distribuciones de Linux. Pero está disponible en el repositorio oficial de paquetes de casi todas las distribuciones de Linux que existen. Por lo tanto, puede instalarlo fácilmente en la distribución de Linux que desee.

Instalar htop en Ubuntu / Debian, ejecute los siguientes comandos:

$sudoactualización apta
$sudoaptoInstalar en pc htop -y

NOTA: En CentOS / RHEL, htop está disponible en el repositorio de EPEL. Antes de instalar el htop , debe tener un repositorio EPEL ( epel-release paquete) instalado en su sistema CentOS / RHEL.

Instalar htop en CentOS 7 / RHEL 7, ejecute los siguientes comandos:

$sudo yum installepel-release-y
$sudo yum install htop -y

Instalar htop en CentOS 8 / RHEL 8, ejecute los siguientes comandos:

$sudodnfInstalar en pcepel-release-y
$sudodnfInstalar en pc htop -y

Una vez htop está instalado, puede ejecutarlo con el siguiente comando:

$htop

Htop debería empezar.

En la parte superior, htop muestra la memoria física y el resumen de uso de intercambio. También muestra el uso de la memoria y el intercambio en un bonito gráfico de barras.

La información de uso de la memoria y el intercambio tiene el formato usó / total . htop decidirá automáticamente la unidad (kibibyte, mebibyte, gibibyte, tebibyte o pebibyte) para describir mejor la información de uso de memoria e intercambio.

Las barras de uso de memoria y de intercambio están representadas por diferentes colores. Los colores tienen significados.

Para saber qué representa cada color, ejecute htop y presione h para ir a la ventana de ayuda de htop .

Como puede ver, el color verde representa la memoria física que utilizan diferentes programas / procesos, el color azul representa la memoria física utilizada como búfer, el color amarillo representa la memoria física utilizada como memoria caché y el color rojo representa la memoria física utilizada como memoria caché. intercambio de espacio.

Para volver a la principal htop ventana, presione q .

Como el cima , los htop El programa también muestra información sobre el uso de memoria de cada uno de los procesos que se ejecutan en su sistema Linux. htop decidirá automáticamente la unidad (kibibyte, mebibyte, gibibyte, tebibyte o pebibyte) para describir mejor el uso de memoria de cada uno de los procesos.

Por defecto, el htop El comando muestra la siguiente información sobre el uso de la memoria:

VIRT / M_SIZE: Este es el tamaño de la memoria virtual del proceso. La memoria virtual es la memoria física y de intercambio total utilizada por el proceso.

RES / M_RESIDENTE: Este es el tamaño del conjunto residente del proceso. La memoria residente es la cantidad de memoria física que utiliza el proceso. Es igual a texto + datos + pila o M_TRS + M_DRS.

SHR / M_SHARE: Este es el tamaño de la memoria compartida del proceso. Esta es la cantidad de memoria que usa el proceso que también se comparte con algunos otros procesos.

% MEM / PERCENT_MEM: El porcentaje de memoria física que está usando el proceso.

Puede configurar el htop comando para mostrar más información sobre el uso de la memoria, como,

CÓDIGO / M_TRS: Este es el tamaño del código del proceso. Es la cantidad de memoria física dedicada al código ejecutable del proceso.

DATOS / M_DRS: Estos son los datos y el tamaño de la pila del proceso. Es la cantidad de memoria reservada por un proceso. Es posible que aún no se haya asignado a la memoria física. Pero siempre aparecerá en la memoria virtual (VIRT / M_SIZE) del proceso.

LIB / M_LRS: Este es el tamaño de biblioteca del proceso. Es la cantidad de memoria física que utiliza un código de biblioteca (utilizado por el proceso / programa).

SUCIO / M_DT: Este es el tamaño de las páginas sucias del proceso. La sección / página que se modifica en el búfer se denomina página sucia.

Para habilitar estas columnas de información de memoria, ejecute htop y presione F2 .

Luego, navega a Columnas desde el Configuración sección, seleccione la columna antes de la cual desea agregar nuevas columnas de la Columnas activas sección, seleccione la columna que desea agregar de la Columnas disponibles sección, y presione para agregar la columna.

La columna debe agregarse a la Columnas activas sección.

De la misma manera, agregue las otras columnas de memoria (columnas que comienzan con METRO_ ). Una vez que haya terminado, presione para volver a la principal htop ventana.

Como puede ver, se agregan las columnas de información de uso de memoria adicional.

Puede ver los procesos en el vista de árbol . En esta vista, los procesos están organizados por la relación padre-hijo.

Para cambiar a la vista de árbol, presione t . Como puede ver, los procesos están muy bien organizados por su relación padre-hijo. En este modo, puede ver qué procesos secundarios son generados por un proceso principal y su uso de memoria.

Para salir de la vista de árbol, presione t de nuevo. Debería volver a la vista predeterminada.

También puede ordenar los procesos por diferentes columnas de uso de memoria. De forma predeterminada, los procesos se ordenan por uso de CPU (% de CPU).

Para ordenar los procesos por una columna específica, presione F6 .

Luego, seleccione una columna por la que desee ordenar los procesos desde el Ordenar por sección y presione .

Ordenaré los procesos por M_RESIDENTE / RES columna de demostración.

Como puede ver, los procesos están bien ordenados por el uso de la memoria residente.

los htop El programa enumera muchos procesos. Todos estos procesos no se pueden mostrar en el tamaño de pantalla / ventana limitado. Pero, puede presionar el y teclas de flecha para navegar por la lista de procesos con mucha facilidad.

Comprobación del uso de memoria con smem:

Programas de comprobación del uso de memoria como cima , htop, etc. muestra la memoria compartida completa para cada uno de los procesos. Lo que significa es que, aunque la memoria es compartida por algunos procesos, cuenta esta memoria usada para cada uno de los procesos que comparten esa memoria. Entonces, obtienes información de uso de memoria incorrecta.

En matemáticas, se ve así,

uso de memoria física del proceso = uso de memoria compartida + uso de memoria no compartida

yo puedo intenta evitar esto e informar el uso de la memoria correctamente. Divide la memoria compartida por la cantidad de procesos que utilizan esa memoria compartida y agrega el resultado a cada uno de los procesos que comparten esa memoria. Entonces, el uso de la memoria se suma muy bien. El uso total de memoria será la suma del uso de memoria de todos los procesos. Esto no sucederá en el htop o cima .

En matemáticas, se ve así,

uso de memoria física del proceso =(uso de memoria compartida/número de procesos que comparten memoria)
+ memoria no compartida

yo puedo no está preinstalado de forma predeterminada en la mayoría de las distribuciones de Linux. Pero está disponible en el repositorio oficial de paquetes de la mayor parte de la distribución de Linux.

En Ubuntu / Debian, puede instalar yo puedo con los siguientes comandos:

$sudoactualización apta
$sudoaptoInstalar en pcyo puedo-y

En CentOS / RHEL 7, yo puedo está disponible en el repositorio de paquetes EPEL. Por lo tanto, debe agregar el repositorio EPEL en CentOS / RHEL 7 para instalar yo puedo .

En CentOS / RHEL 7, puede instalar yo puedo con los siguientes comandos:

$sudo yum installepel-release-y
$sudo yum installyo puedo-y

Desafortunadamente, yo puedo no está disponible en el repositorio oficial de paquetes o el repositorio EPEL de CentOS / RHEL 8. Debería poder compilar yo puedo de la fuente o descargar el yo puedo binario del sitio web oficial de smem .

Si quieres compilar yo puedo de la fuente, luego puede descargar el código fuente de smem desde el página de origen oficial de SMEM .

Si desea descargar un yo puedo archivo binario precompilado, luego puede descargarlo desde el página de descarga oficial de smem .

yo puedo puede mostrar el uso de memoria de cada usuario.

Para saber cuánta memoria usa un usuario de Linux, ejecute yo puedo como sigue:

$sudoyo puedo-usted

Aquí el -para La opción se usa para mostrar la unidad que yo puedo está utilizando para mostrar información sobre el uso de la memoria.

yo puedo utiliza las siguientes unidades:

K - Kibibyte

M - Mebibyte

G - Gibibyte

T - Tebibyte

P - Pebibyte

los -a La opción se utiliza para escalar las columnas de salida según el tamaño de la ventana del terminal. De esta forma, puede corregir la salida de yo puedo muy fácilmente si se recorta algún texto importante.

los -u La opción se utiliza para mostrar información sobre el uso de la memoria del usuario.

Como se puede ver, yo puedo informó la memoria y la información de uso de intercambio de cada usuario de mi máquina Ubuntu.

yo puedo muestra la siguiente información sobre el uso de la memoria del usuario:

Usuario: El nombre de usuario de Linux para el que se informa el uso de memoria.

Contar: La cantidad de procesos que el usuario está ejecutando en este momento.

Intercambio: La cantidad de espacio en el disco de intercambio que está usando el usuario.

USS: Este es el tamaño de conjunto único total de los procesos del usuario. Es la cantidad total de memoria física que utilizan los procesos propiedad del usuario que no se comparte con otros procesos.

PSS: Este es el tamaño de conjunto proporcional total de los procesos del usuario. Es la cantidad total de memoria física y la memoria física compartida dividida uniformemente que utilizan los procesos propiedad del usuario.

RSS: Este es el tamaño total del conjunto de residentes de los procesos del usuario. Es la cantidad total de memoria física y la memoria física compartida que utilizan los procesos propiedad del usuario. Información de uso de memoria RSS de yo puedo es la misma que la información de uso de la memoria RSS del cima o htop .

Por defecto, yo puedo muestra información sobre el uso de la memoria en orden ascendente (de menor a mayor). Si desea ver la información de uso de la memoria en orden descendente (de mayor a menor), utilice el -r opción de yo puedo como sigue:

$sudoyo puedo-kaur

Como se puede ver, yo puedo muestra la misma información de uso de la memoria del usuario. Pero en orden descendente.

Si desea ver la información de uso total de la memoria del usuario, ejecute yo puedo con el -t opción de la siguiente manera:

$sudoyo puedomediante

Como se puede ver, yo puedo agrega la información de todas las filas para cada columna y muestra la información de uso de memoria total de cada una de las columnas al final.

Por defecto, yo puedo muestra información sobre el uso de la memoria en la unidad de kibibytes. Si usa el -para opción, yo puedo seleccionará automáticamente la mejor unidad para mostrar la información de uso de la memoria.

Si desea mostrar la información sobre el uso de la memoria como un porcentaje de la memoria física total disponible o el espacio en disco de intercambio, puede usar el -pag opción en lugar de la -para opción de la siguiente manera:

$sudoyo puedo-pau

Como se puede ver, yo puedo muestra la información del uso de la memoria del usuario en el porcentaje de la memoria física total y el espacio del disco de intercambio.

Si desea ver la información sobre el uso de la memoria en todo el sistema o el resumen del uso de la memoria del sistema, ejecute yo puedo con el -en opción de la siguiente manera:

$sudoyo puedo-kaw

Como se puede ver, yo puedo muestra información sobre el uso de la memoria en todo el sistema.

yo puedo muestra la siguiente información sobre el uso de la memoria en todo el sistema:

Zona: La parte del sistema para la que se utiliza la memoria.

Usó: La cantidad de memoria física utilizada para esta área.

Cache: La cantidad de memoria física utilizada como memoria caché para esta área.

Sin caché: La cantidad de memoria física utilizada para esta área que no se almacena en caché.

De la misma forma que antes, puede utilizar el -t opción para ver también la información de uso total de la memoria en todo el sistema.

$sudoyo puedo-cauteloso

También puede ver el uso de memoria de los procesos que se ejecutan en su sistema Linux con yo puedo .

Para hacer eso, corre yo puedo como sigue:

$sudoyo puedo-kar

Como se puede ver, yo puedo muestra la información de uso de memoria de cada uno de los procesos que se ejecutan en mi máquina Ubuntu.

yo puedo muestra la siguiente información sobre el uso de la memoria en función del proceso:

PID: El ID de proceso del proceso.

Usuario: El nombre de usuario del usuario que inició el proceso o propietario del proceso.

Mando: El comando que se usa para iniciar el proceso.

Intercambio: La cantidad de espacio en el disco de intercambio que está usando el proceso.

USS: Este es el tamaño de conjunto único del proceso. Es la cantidad de memoria física que utiliza el proceso que no se comparte con otros procesos.

PSS: Este es el tamaño de conjunto proporcional del proceso. Es la cantidad de memoria física y la memoria física compartida dividida uniformemente que está utilizando el proceso.

RSS: Este es el tamaño del conjunto de residentes del proceso. Es la cantidad de memoria física y la memoria física compartida que utiliza el proceso.

También puede ver la información de uso de memoria de cada uno de los archivos de biblioteca que los procesos están usando con yo puedo .

Para ver la información de uso de la memoria de cada uno de los archivos de la biblioteca cargados en la memoria física de su computadora, ejecute yo puedo con el -metro opción de la siguiente manera:

$sudoyo puedo-kamr

yo puedo mostrará la información de uso de la memoria de cada uno de los archivos de la biblioteca cargados en la memoria física de su computadora, como puede ver en la captura de pantalla a continuación.

yo puedo muestra la siguiente información de uso de memoria basada en bibliotecas:

Mapa: El archivo de biblioteca que está asignado a la memoria física de su computadora.

PID: El número total de procesos que utilizan este archivo de biblioteca.

PSS: Este es el tamaño de conjunto proporcional total de los procesos que utilizan el archivo de biblioteca. Es la cantidad de memoria física y la memoria física compartida dividida uniformemente que utilizan los procesos (que utilizan este archivo de biblioteca).

AVGPSS: Este es el tamaño de conjunto proporcional promedio de los procesos que utilizan este archivo de biblioteca. Es la memoria física promedio que se comparte entre cada uno de los procesos (usando este archivo de biblioteca) que están usando. También puede decir, AVGPSS = PSS / PIDs (sobre).

Comprobación del uso de memoria mediante vmstat:

vmstat es otro programa para comprobar el uso de la memoria en Linux. Muestra casi la misma información que en / proc / meminfo expediente.

Para ver la información sobre el uso de la memoria, ejecute vmstat como sigue:

$vmstat -s

vmstat debería mostrar información de uso de memoria en todo el sistema en la unidad de kibibytes, como puede ver en la captura de pantalla a continuación.

vmstat muestra la siguiente información sobre el uso de la memoria:

memoria total: La memoria física total disponible de su computadora.

memoria usada: La memoria física total utilizada de su computadora.

memoria libre: La memoria física libre total de su computadora.

permuta total: El espacio total disponible en el disco de intercambio.

swap usado: La cantidad de espacio en disco de intercambio utilizado.

intercambio gratuito: La cantidad de espacio libre en el disco de intercambio.

caché de intercambio: La cantidad de espacio en disco de intercambio utilizado como caché.

memoria intermedia: La cantidad de memoria física utilizada como búfer para almacenar los datos temporalmente mientras los mueve de un lugar a otro.

memoria activa: La cantidad de memoria física que se usa pero no se puede recuperar si lo requieren otros programas.

memoria inactiva: La cantidad de memoria física que se usa pero que otros programas pueden recuperar fácilmente si es necesario.

Comprobación del uso de la memoria mediante el monitor del sistema GNOME:

GNOME System Monitor es un software gráfico para monitorear el uso de la memoria, los procesos en ejecución y el uso del disco. Está preinstalado en entornos de escritorio GNOME 3, Ubuntu MATE, Cinnamon y Budgie.

Puede ver la información de uso de la memoria e intercambiar Recursos pestaña de Monitor del sistema GNOME como puede ver en la captura de pantalla a continuación.

Muestra una buena memoria en tiempo real e intercambia un gráfico de uso durante los últimos 60 segundos. Puede tener una idea de cuánta memoria y el uso de intercambio varió con el tiempo a partir de este gráfico.

Mostrará la memoria física total disponible, la cantidad de memoria física utilizada, el porcentaje de memoria física utilizada y la cantidad de memoria física utilizada como memoria caché. También le mostrará un buen gráfico circular de uso de memoria física.

También mostrará el espacio total disponible en el disco de intercambio, la cantidad de espacio de intercambio utilizado, el porcentaje de la cantidad de espacio de intercambio utilizado y un buen gráfico circular de uso de intercambio.

En el Procesos pestaña de Monitor del sistema GNOME , puede ver la información de uso de memoria de cada uno de los procesos que se ejecutan en su computadora.

Si desea ver más información sobre el uso de memoria para los procesos, haga clic con el botón derecho (RMB) en la barra de título y marque la casilla Memoria virtual , Memoria residente , y Memoria compartida como se muestra en la captura de pantalla a continuación.

La información de uso de memoria virtual (VIRT), residente (RES) y compartida (RSS) de los procesos debe mostrarse como puede ver en la captura de pantalla a continuación.

Esta información de uso de memoria es la misma que en el cima o htop .

De forma predeterminada, el Monitor del sistema GNOME mostrará solo los procesos propiedad de su usuario de inicio de sesión. Si desea ver una lista de todos los procesos propiedad de cada usuario de su sistema, haga clic en el menú de hamburguesas (

) y seleccione Todos los procesos como se muestra en la captura de pantalla a continuación.

Si desea ver los procesos en la vista de árbol (relación padre-hijo), haga clic en el menú de hamburguesas (

) y comprobar Mostrar dependencias como se muestra en la captura de pantalla a continuación.

En la vista de árbol, puede ver qué proceso (padre) inició qué procesos (hijo) en el orden en que se iniciaron. También puede ver cuánta memoria consume cada uno de los procesos principales y cuánta memoria consume cada uno de los procesos secundarios.

Comprobación del uso de memoria con KSysGuard:

KSysGuard es un software gráfico para monitorear el uso de la memoria y los procesos en ejecución. Está preinstalado en el entorno de escritorio KDE Plasma.

Puede ver la información de uso de la memoria e intercambiar Carga del sistema pestaña de KSysGuard como puede ver en la captura de pantalla a continuación.

En el Tabla de proceso pestaña de KSysGuard , puede ver la información de uso de memoria de cada uno de los procesos que se ejecutan en su computadora.

De forma predeterminada, KSysGuard muestra la memoria física y la información de uso de la memoria compartida para cada uno de los procesos en ejecución.

Puede hacer clic con el botón derecho (RMB) en la barra de título y hacer clic en Mostrar columna 'Tamaño virtual' y Mostrar columna 'Memoria total' para ver más información sobre el uso de la memoria.

Como puede ver, KSysGuard ahora muestra el tamaño de la memoria virtual (VIRT) y el uso total de la memoria física para cada uno de los procesos en ejecución.

De forma predeterminada, KSysGuard muestra todos los procesos en ejecución propiedad de cada usuario en el Tabla de proceso pestaña. Puede cambiar los procesos que desea ver en el menú desplegable en la esquina superior derecha de KSysGuard como se muestra en la captura de pantalla a continuación.

Para la vista de árbol, seleccione Todos los procesos, árbol en el menú desplegable.

En la vista de árbol, puede ver qué proceso (padre) inició qué procesos (hijo) en el orden en que se iniciaron. También puede ver cuánta memoria consume cada uno de los procesos principales y cuánta memoria consume cada uno de los procesos secundarios.

Si solo desea ver los procesos a nivel del sistema, seleccione Procesos del sistema en el menú desplegable. Estos procesos suelen ser propiedad del raíz usuario.

Si desea ver los procesos a nivel de usuario, seleccione Procesos de usuario en el menú desplegable. Estos procesos suelen ser propiedad de usuarios normales (no root).

Si desea ver solo los procesos que son propiedad del usuario de inicio de sesión, seleccione Procesos propios .

Si desea ver solo los programas que se ejecutan en su computadora, no los procesos, seleccione Solo programas en el menú desplegable. Solo se enumerarán los programas de aplicación que se ejecutan en su computadora.

Conclusión:

En este artículo, he cubierto las formas más comunes de verificar el uso de memoria en Linux. He mostrado cómo verificar el uso de memoria de los sistemas Linux desde la línea de comandos, así como desde entornos gráficos de escritorio. He explicado cómo utilizar programas como gratis , cima , htop , yo puedo , vmstat , Monitor del sistema GNOME , y KSysGuard para comprobar el uso de memoria de Linux. También he analizado el formato de salida de estos comandos y programas. Este artículo debe ayudarlo a comenzar con la verificación del uso de la memoria de Linux y brindarle un conocimiento profundo de las herramientas de verificación del uso de la memoria de Linux.