Detectar el hardware usando dmidecode
La detección automática de hardware siempre ha sido un poco como una lotería, pero mejoró en los últimos años, ya que muchos fabricantes documentan sus productos con más detalle y también tienen información específica disponible en línea. Para conocer la información del hardware sobre la RAM instalada en su máquina, use el dmidecode
Comando (paquete para Debian GNU/Linux, Ubuntu y Linux Mint: DMidecode).
Entre otra información, esta herramienta informa datos detallados sobre los componentes del sistema instalados como el procesador, el zócalo y la RAM. La información se basa en la interfaz de administración de escritorio (DMI) [1], que es un marco que clasifica los componentes únicos en un escritorio, cuaderno o servidor abstrayendo estos componentes del software que los administra [2]. La opción --Tipo de memoria
se refiere a los dispositivos de memoria. Para otras clases de DMI, eche un vistazo a la página manual de dmidecode.
Esta máquina está actualmente equipada con RAM DDR3 8G con una velocidad de reloj configurada de 1600 MHz. Como puede ver, la capacidad máxima disponible de RAM a bordo es 16 g, lo que significa que puede extenderse por un segundo módulo 8G.
Información gráfica sobre la memoria
En caso de que prefiera una interfaz gráfica para recuperar esta información, las herramientas hardinfo [3] y hardware lister (versión gtk+) [4] podrían ser de interés para usted. En Debian Gnu/Linux, Ubuntu y Linux Mint, estos programas están disponibles a través de los paquetes HardInfo y LSHW-GTK. La Figura 2 muestra la interfaz de usuario de HardInfo que muestra la información de memoria en una instalación de Xubuntu.
¿Cuánta memoria está disponible actualmente?
A veces menos es más. En la línea de comandos, la información sobre la memoria está disponible a través del gratis
dominio. En Debian GNU/Linux, Ubuntu y Linux Mint Este programa es parte del paquete PROCPS [5]. La Figura 2 muestra la salida en una ventana terminal.
Como una selección de las opciones adicionales, gratis
acepta varios parámetros, como:
-B (-bytes):
Mostrar la salida como bytes-K (--kilo):
Muestre la salida como kilobytes-M (--mega):
Muestre la salida como megabytes-G (--giga):
Mostrar la salida como gigabytes--Tera:
Mostrar la salida como terabytes-H (--human):
Mostrar la salida en formato legible por humanosEn la Figura 3, la salida se muestra en megabytes utilizando la opción -m. El sistema tiene 4 g de RAM, mientras que 725m están actualmente en uso.
Información de memoria desde el punto de vista del núcleo de Linux
Las herramientas mencionadas anteriormente dependen de la información sin procesar que se mantienen en el sistema de archivos PROC del núcleo de Linux. Para mostrar estos detalles, el contenido del archivo /Proc/Meminfo
utilizando el gato
utilidad en un terminal:
Para obtener más información estadística sobre el uso, la memoria y los procesos de la CPU, puede echar un vistazo a las herramientas vmstat
, y iostat
(Debian Packages Procps y Sysstat).
Trabajar con procesos - PS, HTOP y PSTREE
Para mostrar los procesos activos de su sistema Linux, use el PD
dominio. Por lo general, la salida se clasifica alfabéticamente. Pero el PD
El comando puede hacer mucho más. Usando las opciones aux --ordenar -rss
La salida de la lista de procesos se clasifica mediante su uso de memoria en un orden de arriba hacia abajo. La Figura 4 muestra los procesos que tienen la mayor demanda de memoria. La salida se clasifica por la sexta columna titulada RSS que abrevia el tamaño del conjunto de residentes. El valor se da en kilobytes.
Los comandos ps, pstree
y htop
están estrechamente relacionados en términos de la información que muestran estas herramientas. Ambos pstree
y htop
mostrar un gráfico para visualizar las dependencias del proceso. htop
actúa como una versión interactiva que le permite desplazar la lista de procesos hacia arriba y hacia abajo. La Figura 5 muestra htop
en un sistema de escritorio con una selección de procesos ordenados por su uso específico de memoria (quinta columna).
Encontrar procesos que usan la memoria de intercambio
Cuanto más procesos sean lanzados, más memoria se usa al mismo tiempo. Tan pronto como su sistema Linux se queda fuera de las páginas de memoria no utilizadas, el kernel de Linux decide intercambiar páginas de memoria al disco utilizando el método menos utilizado (LRU). Para responder a la pregunta, qué procesos usan la memoria de intercambio y cuánto se usa en particular, puede echar un vistazo a la salida del programa superior. En 2016, Erik Ljungstrom publicó una breve descripción de cómo recuperar esa información y extender esta columna a la salida de TOP [6]. La Figura 6 muestra esta salida en un sistema que tiene muchas páginas de memoria en RAM a la izquierda y no usa Swap, actualmente.
Además, en 2011 ya publicó un script bash que evalúa la información del sistema de archivos PROC para mostrar el uso del proceso de intercambio por proceso [7]. Incluso 7 años después y ya descrito como obsoleto, el script sigue siendo excelente y muestra cómo automatizar las tareas en un sistema Linux. Por eso estamos seguros de que es útil mostrarlo aquí una vez más.
La salida del script es la siguiente (ejecute como raíz
Usuario de recuperar los datos completos):
Conclusión
La caja de herramientas de Linux contiene una lista interminable de programas disponibles para ayudarlo a analizar el uso de la memoria de su sistema Linux. Acabamos de ver, desde datos sin procesar hasta información preprocesada, todo está ahí. Solo conoce tus herramientas. Para familiarizarse con ellos, tómese un poco de tiempo y juegue con ellos.
Esta es la Parte 2 de la serie en Linux Kernel Memory Management. La Parte 1 discute la memoria de intercambio, en la tercera parte de esta serie discutiremos cómo optimizar el uso de la memoria. Esto incluirá la administración de ramdisks y archivos de intercambio comprimidos.
El autor desea agradecer a Mandy Neumeyer y Gerold Rupprecht por su apoyo mientras prepara este artículo.