LINUX

Herramienta Linux Smem: muestra el uso de la memoria de forma más precisa

En un entorno de memoria compartida, que es una técnica utilizada por la mayoría de los sistemas operativos, existe el desafío de contar la memoria varias veces. Esto termina dando a los usuarios y administradores del sistema información inexacta sobre cómo se usa la memoria física.

Para solucionar este problema, el SMEM es muy útil. Informes de Smem Tamaño de conjunto único (USS) que es la memoria que no se comparte con ningún otro proceso y Tamaño de conjunto proporcional (PSS) que es el USS y una parte justa del proceso de la memoria compartida.

La medida estándar de memoria se conoce como Tamaño del conjunto de residentes (RSS), que tiene una tendencia a sobreestimar la memoria utilizada como verá más adelante en este artículo.

Sin embargo, tenga en cuenta que smem no informa de la memoria que se ha movido al espacio de intercambio.

Instalación de Smem

Si tiene Fedora 19 en adelante, smem está en los repositorios y, por lo tanto, puede usar yum para instalarlo de la siguiente manera:

$ sudo yum install smem

Para los usuarios de Ubuntu, puede instalar smem de la siguiente manera:

$ sudo apt-get install smem

Alternativamente, puede compilar desde la fuente que se puede encontrar en página de descarga de selenic smem.

Opciones de línea de comando

Después de instalar con éxito smem, ahora puede ejecutarlo con varias opciones. Puede informar el uso de la memoria por mapeo, usuario o en todo el sistema. De forma predeterminada, smem mostrará cada proceso en ejecución y la memoria utilizada. Aquí comienza a notar la forma en que la memoria de informes RSS se usa en relación con USS y PSS.

$ smem

smem predeterminado

Smem se puede utilizar para mostrar la memoria utilizada según la biblioteca. Esto puede generar una lista larga dependiendo de su sistema.

$ smem -m

A veces es útil para ver cómo una aplicación específica está usando la memoria, por ejemplo, Firefox. La opción -p le ayuda a ver el uso de la memoria en forma de porcentajes, lo cual es más conveniente.

$ smem -m -p | grep firefox

smem firefox
Smem también puede mostrar el uso de memoria por usuario:

$ smem -u -p

usuario de smem

También puede ver la memoria de todo el sistema con el -w opción y agregando -pag para dar valores porcentuales.

$ smem -w -p

sistema smem amplio

Generando salida gráfica

También es posible con smem generar un cuadro gráfico para mostrar el uso de la memoria. Para hacer esto, necesita tener Python instalado en su máquina.
A continuación, instale la biblioteca matplotlib que se utiliza para generar los gráficos.

Los usuarios de Fedora pueden instalarlo ejecutando el comando:

$ sudo yum install python-matplotlib

Si bien los usuarios de Ubuntu pueden obtenerlo ejecutando:

$ sudo apt-get install python-matplotlib

Una vez que haya instalado la biblioteca, ahora puede continuar y obtener una representación visual del uso de la memoria, ya sea en forma de gráfico de barras o gráfico circular.

Gráfico circular

Ahora puede ver el uso de la memoria (USS, PSS y RSS) en forma de pastel usando smem de la siguiente manera:

$ smem --pie name -s uss

Esto generará un gráfico circular que muestra el uso de memoria por parte de USS. Para obtener PSS y RSS, simplemente reemplace uss en el comando con el acrónimo respectivo.

nombre por pss

nombre por rss

nombre por uss

En los tres gráficos circulares, puede ver que RSS informa que tengo un 41,74% de memoria no utilizada mientras que PSS 53,02% de memoria no utilizada. Ahora puede ver que el uso de RSS puede enviar al administrador del sistema al modo de pánico mientras todavía hay suficiente memoria en el sistema.

Gráfico de barras

Otra característica interesante de smem es generar la salida en forma de gráfico de barras. Con esto, puede ver el uso de memoria según lo informado por USS, PSS y RSS.
Esto se hace de la siguiente manera.

$ smem --bar pid -c "pss uss rss"

El comando anterior dará la salida con los números de identificación del proceso. Si desea ver el nombre del proceso, puede reemplazar «pid» por «nombre» sin las comillas.

Como antes en el gráfico circular, RSS siempre ofrece una vista exagerada de la memoria utilizada, como puede ver en el gráfico de barras.

gráfico de barras rss pss uss

Conclusión

Smem es una gran herramienta para determinar la memoria real que utiliza su sistema.

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
Cerrar