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
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. |
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
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
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 0 0 0 11434840 2567516 10238916 0 0 26 75 142 55 13 5 82 0 0
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 0 0 0 11405404 2567988 10324528 0 0 26 75 142 58 13 5 82 0 0
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
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 0 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.