Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
En mi trabajo de programación, a menudo necesito saber la memoria utilizada por las aplicaciones web. Una estimación aproximada suele ser suficiente antes de pasar a los detalles y las herramientas de creación de perfiles del navegador.
Para interrogar el uso de la memoria en Linux o macOS, la gente suele usar top o htop. Me encantaría ver un solo número:¿cuánta RAM tomó un proceso? Pero las estadísticas que muestran estas utilidades pueden ser difíciles de entender. Con los navegadores web, es aún más complicado porque a menudo ejecutan muchos procesos separados. Todos aparecen en la salida superior como una lista larga, cada uno con sus propias métricas individuales.
Ingrese el comando smem
Afortunadamente existe smem, otra utilidad de línea de comandos para ver las estadísticas de uso de la memoria. Instálelo con el administrador de paquetes de su elección, por ejemplo:
sudo apt install smem
Para obtener el uso total de la memoria de Firefox, haz lo siguiente:
smem -c pss -P firefox -k -t | tail -n 1
¿Qué pasa aquí?
-c
switch especifica columnas para mostrar. Solo me interesa el pss columna, que muestra la memoria asignada por un proceso.-P
cambie los procesos de filtros para incluir solo aquellos con Firefox en el nombre-k
el interruptor indica que se muestre el uso de la memoria en mega/gigabytes en lugar de bytes simples-t
interruptor muestra los totalestail -n 1
el filtro genera solo la última línea, justo donde están los totales
El resultado es tan simple como parece:
$ smem -t -k -c pss -P firefox | tail -n 1
4.9G
¡Directo al grano! Y, después de otro ajetreado día de trabajo, con más de cincuenta pestañas abiertas, Firefox todavía usa solo 5 GB. Toma eso, Google Chrome;-)
Aún más fácil con un script
Para mayor comodidad, cree un pequeño script llamado memory-use
, que toma como parámetro el nombre del proceso. Guardo todos mis scripts en ~/bin
, entonces:
echo 'smem -c pss -P "$1" -k -t | tail -n 1' > ~/bin/memory-use && chmod +x ~/bin/memory-use
Ahora puedo medir el uso de memoria de cualquier aplicación tan fácil como:
memory-use firefox
memory-use chrome
memory-use slack
¡Y aún hay más!
La utilidad puede hacer mucho más que mostrar el uso total de la memoria. Incluso puede generar resultados gráficos.
Por ejemplo:
smem --pie name -c pss
Muestra algo como esto:
Para obtener más detalles, recomiendo consultar las páginas de manual de smem.
Puede encontrar otro excelente tutorial en https://linoxide.com/memory-usage-reporting-smem/.
¡Disfrútalo!
Este artículo apareció originalmente en el blog del autor y se vuelve a publicar con permiso.