Tutoriales

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

H¿Cómo puedo compulsar la utilización de la memoria en Linux usando la término de comandos y las opciones de GUI?

Tenemos RAM física como 16GB y memoria de intercambio. La memoria de intercambio no es más que espacio en disco que permite que su computadora Linux ejecute más aplicaciones simultáneamente de las que caben en la memoria del sistema (RAM). Esta página explica varios comandos para compulsar el uso y la utilización de la memoria en Linux usando herramientas de término de comandos y GUI.



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

Su sistema Linux debe funcionar a un nivel inmejorable. La memoria juega un papel fundamental en un sistema Linux. Un desarrollador o un administrador de sistemas experimentado debe conocer la cantidad total de material físico autónomo y usado, incluida la memoria de intercambio en el servidor. Sería mejor si estuviera atento a los búferes y cachés que usa el kernel igualmente.

los / proc / meminfo expediente

los / proc / meminfo El archivo informa estadísticas sobre el uso de memoria en Linux. Use el comando cat / less command o grep command / egrep command de la próximo modo en su caja de Linux:
cat /proc/meminfo
more /proc/meminfo


Cada término del / proc / meminfo El archivo consta de un nombre de parámetro, seguido de dos puntos, el valía del parámetro y una dispositivo de medida opcional. Por ejemplo, «KB“.

Comprender los parámetros de utilización de la memoria

Tabla de descripción de campos
Parámetro Descripción
MemTotal RAM total idóneo (es asegurar, RAM física menos algunos bits reservados y el código binario del kernel).
MemFree La suma de LowFree + HighFree.
MemDisponible (desde Linux 3.14) Una estimación de la cantidad de memoria acondicionado para iniciar nuevas aplicaciones, sin cambiar.
Amortiguadores Almacenamiento relativamente temporal para bloques de disco sin formato que no deberían ser demasiado grandes (20 MB aproximadamente).
En distinción Personalidad en memoria para archivos leídos desde el disco (el distinción de página). No incluye SwapCached.
SwapCached La memoria que una vez se intercambió, se intercambia nuevamente, pero igualmente se encuentra en el archivo de intercambio.
Activo Memoria que se ha utilizado más recientemente y que normalmente no se recupera a menos que sea absolutamente necesario.
Inactivo Memoria que se ha utilizado menos recientemente. Es más elegible para ser reclamado para otros fines.
AltoTotal Cantidad total de highmem. Highmem es toda la memoria por encima de ~ 860 MB de memoria física. Las áreas de memoria suscripción son para uso de programas de espacio de adjudicatario o para la distinción de página. El kernel debe usar trucos para aceptar a esta memoria, lo que hace que sea más tardo que lowmem.
HighFree Cantidad de highmem de gorra.
LowFree Cantidad de lowmem de gorra.
SwapTotal Cantidad total de espacio de intercambio acondicionado.
SwapFree Cantidad de espacio de intercambio que no se utiliza actualmente.
Abandonado Memoria que está esperando retornar a escribirse en el disco.
Respóndeme Memoria que se está escribiendo activamente en el disco.
AnonPages Páginas sin respaldo de archivos mapeadas en tablas de páginas de espacio de adjudicatario.
Mapeado Archivos que se han asignado a la memoria (con mmap (2)), como bibliotecas.
Shmem Cantidad de memoria consumida en los sistemas de archivos tmpfs (5).
KRecuperable Asignaciones de kernel que el kernel intentará recuperar bajo presión de memoria. Incluye SReclaimable (debajo) y otras asignaciones directas con reductor.
Plancha Personalidad de estructuras de datos en el núcleo. (Ver slabinfo (5).)
S recuperable Parte de Slab, que podría recuperarse, como cachés.
SUnreclaim Parte de Slab, que no se puede recuperar con la presión de la memoria.
KernelStack Cantidad de memoria asignada a las pilas del 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 aún no comprometidas con el almacenamiento estable.
Rebotar Memoria utilizada para los «búferes de rechazo» del dispositivo de bando.
WritebackTmp Memoria utilizada por FUSE para búferes de escritura diferida temporales.
CommitLimit Esta es la cantidad total de memoria acondicionado actualmente para ser asignada en el sistema, expresada en kilobytes. Este frontera se cumple solo si está habilitada la contabilidad estricta de sobrecompromiso (modo 2 en / proc / sys / vm / overcommit_memory). El frontera se calcula de acuerdo con la fórmula descrita en / proc / sys / vm / overcommit_memory.
Comprometido_AS La cantidad de memoria actualmente asignada en el sistema. La memoria comprometida es una suma de toda la memoria que ha sido asignada por los procesos, incluso si todavía no ha sido «utilizada» por ellos. Un proceso que asigna 1GB de memoria (usando malloc (3) o similar), pero toca solo 300MB de esa memoria, mostrará que usa solo 300MB de memoria incluso si tiene el espacio de direcciones asignado para el 1GB completo. Este 1GB es memoria que ha sido «comprometida» por la VM y puede ser utilizada en cualquier momento por la aplicación de asignación. Con el overcommit exacto recaudador en el sistema (modo 2 en / proc / sys / vm / overcommit_memory), no se permitirán asignaciones que excedan el CommitLimit. Esto es útil si se necesita avalar que los procesos no fallarán adecuado a la errata de memoria una vez que la memoria se haya asignado correctamente.
VmallocTotal Tamaño total del radio de memoria de vmalloc.
Vmalloc Usado Cantidad de radio de vmalloc que se utiliza. Desde Linux 4.4, este campo ya no se calcula y está codificado como 0. Consulte / proc / vmallocinfo.
VmallocChunk El bando contiguo más amplio del radio de vmalloc que está autónomo. Desde Linux 4.4, este campo ya no se calcula y está codificado como 0. Consulte / proc / vmallocinfo.
LazyFree Muestra la cantidad de memoria marcada por madvise (2) MADV_FREE.
AnonHugePages Grandes páginas sin respaldo de archivos mapeadas en tablas de páginas de espacio de adjudicatario.
ShmemEnormePáginas Memoria utilizada por memoria compartida (shmem) y tmpfs (5) asignada con páginas enormes
ShmemPmdMapped Memoria compartida asignada al espacio del adjudicatario con páginas enormes.
CmaTotal Total de páginas CMA (asignador de memoria contigua).
CmaFree Páginas gratuitas de CMA (asignador de memoria contigua).
HugePages_Total El tamaño del rama de páginas enormes.
HugePages_Free La cantidad de páginas enormes en el rama 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 rama, pero aún no se ha realizado ninguna asignación. Estas páginas enormes reservadas garantizan que una aplicación podrá asignar una página enorme del rama de páginas enormes en el momento de la rotura.
HugePages_Surap Este es el número de páginas enormes en el rama por encima del valía en / proc / sys / vm / nr_hugepages. El número mayor de páginas enormes excedentes está controlado por / proc / sys / vm / nr_overcommit_hugepages.
Enorme El tamaño de páginas enormes.
DirectMap4k Número de bytes de RAM mapeados linealmente por kernel en páginas de 4kB.
DirectMap4M Número de bytes de RAM mapeados linealmente por kernel en páginas de 4 MB.
DirectMap2M Número de bytes de RAM mapeados linealmente por kernel en páginas de 2 MB.
DirectMap1G x86 con CONFIG_X86_64 y CONFIG_X86_DIRECT_GBPAGES habilitados.
LEER  Nginx: 413 - Error y decisión de entidad de solicitud demasiado amplio

Podemos filtrar el archivo usando el comando grep o el comando egrep de la próximo modo:
grep -E --color 'Mem|Cache|Swap' /proc/meminfo

Usando el comando autónomo para compulsar la utilización de memoria usada y autónomo

La salida de / proc / meminfo es potente pero no sencillo de usar. Por lo tanto, debemos usar el comando autónomo. El comando free muestra la cantidad de memoria autónomo y usada en el sistema Linux. Por ejemplo:
free
¿Quiere ver una salida descifrable por humanos? Tratar:
free -h
free --human

Futuro de muestra:

              total        used        free      shared  buff/cache   available
Mem:           94Gi        15Gi       672Mi       428Mi        78Gi        77Gi
Swap:            0B          0B          0B
Las columnas mostradas son las siguientes:
Columna Descripción
total Memoria total instalada
usado Memoria usada (calculada como total – autónomo – búferes – distinción)
autónomo Memoria no utilizada (MemFree y SwapFree en / proc / meminfo)
compartido Memoria utilizada principalmente por tmpfs (Shmem en / proc / meminfo)
amortiguadores Memoria utilizada por los búferes del kernel (búferes en / proc / meminfo)
cache Memoria utilizada por la distinción de página y las losas (en distinción y SReclaimable en / proc / meminfo)
beneficio / distinción Suma de búferes y distinción
acondicionado Estimación de la cantidad de memoria acondicionado para iniciar nuevas aplicaciones, sin cambiar.

Podemos repetir la impresión de la salida del comando autónomo cada N segundos. Por ejemplo, imprima la salida cada 5 segundos y salga posteriormente de diez repeticiones (recuentos) de este tipo en la pantalla:
free -s 5 -c 10
Podemos controlar la salida del comando autónomo de la próximo modo:
free [option]
free -k
free -g
free -m

Control de salida de comando autónomo [option]
Opción Mostrar salida en
-B, --bytes bytes
--kilo kilobytes
--mega megabytes
--giga gigabytes
--tera terabytes
--peta petabytes
-k, --kibi kibibytes
-metro, --mebi mebibytes
-gramo, --gibi gibibytes
--tebi tebibytes
--pebi pebibytes

comando vmstat

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

  • Procesos
  • Memoria
  • Paginación
  • Circunvalar E / S
  • Trampas
  • Discos
  • Actividad de la CPU

Refugio la terminal y escriba el próximo comando:
vmstat
Sesión de muestra 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
          11434840 2567516 10238916            26    75  142   55 13  5 82    

Pasa 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
                    11405404      2567988     10324528            26    75  142   58  13   5  82      
DESCRIPCIÓN DE CAMPO PARA MODO VM (Memoria e intercambio)
Campo Descripción
swpd la cantidad de memoria aparente utilizada.
autónomo la cantidad de memoria inactiva.
válido la cantidad de memoria utilizada como búfer.
cache la cantidad de memoria utilizada como distinción.
inactivo la cantidad de memoria inactiva. (-una opción)
activo la cantidad de memoria activa. (-una opción)
si Cantidad de memoria intercambiada desde disco (s).
asi que Cantidad de memoria intercambiada a disco (s).

comando top y htop

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

  • 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 próximo comando:
top
htop

Informar el uso de la memoria con la memoria compartida dividida proporcionalmente

La aparejo SMEM informa:

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

Uno puede instalar smem usando el comando apt / apt-get command en Debian / Ubuntu Linux:
sudo apt install smem
Ejecútelo de la próximo modo:
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          7593240  8210344 13017360

Demostración de la utilización de la memoria en Linux usando la GUI

System Instructor es una aplicación GUI de 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 desobstruir el Instructor del sistema desde el Sinopsis de actividades. presione el súper tecla en su teclado. Puede ver sus ventanas y aplicaciones en la descripción normal. Asimismo puede comenzar a escribir para despabilarse sus aplicaciones, como Instructor del sistema. los Fortuna La pestaña le indica la cantidad de memoria (RAM) de su computadora que se está utilizando. Para comprobar qué procesos están usando más memoria: Haga clic en el Procesos pestaña. Haga clic en el Memoria encabezado de columna para ordenar los procesos de acuerdo con el uso de la memoria.

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

Resumiendo

Aprendió cómo encontrar la utilización de la memoria (RAM) de Linux en Linux usando herramientas GUI y CLI.



LEER  Cómo instalar el software de contabilidad Akaunting en Ubuntu 20.04

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba