¿Existe una aplicación que pueda mostrar el uso de memoria de manera similar a la parte superior?

8

Me gustaría dejar una aplicación ejecutándose en mi terminal que me muestre el uso de la memoria, similar a cómo topmuestra la CPU y otra información, y iotopmuestra a los principales usuarios de E / S.

Top y iotop

¿Existe tal aplicación?

PD: Sé que top también muestra el uso de memoria, pero estoy hablando de ordenar por uso de memoria superior y no mostrar ninguna otra información (similar a lo que iotophace).

RolandiXor
fuente
En la parte superior, presiona M y se ordenará el uso de la memoria. ¿Es eso lo que buscas?
papa
Tampoco tengo claro qué características quieres o no quieres, pero htopes la topalternativa que uso. ¿Aunque parezca que quizás estás buscando menos características pero más específicas en lugar de más características?
adempewolff
@adempewolff exactamente. Por ejemplo, iotop hace lo que dice: muestra el uso de E / S de mis aplicaciones y nada más. Quiero poder ejecutar say, 'memtop` y solo obtener el uso de memoria%. htopno es lo que estoy buscando, porque muestra otras cosas (incluido el uso de la CPU) que ya obtengo top. Quiero decir, me gusta htop sin duda (lo he usado antes), pero no es lo que estoy buscando en este caso.
RolandiXor

Respuestas:

8

Lo más cercano que pude encontrar es memtopun script de Python disponible aquí en Google Code.

Captura de pantalla: ingrese la descripción de la imagen aquí

Cómo usar memtop

  • Es un script de Python, así que simplemente haz una sudo mv memtop-1.0.0.py /usr/bin/memtop.pyy una chmod +x /path/to/memtop.pypara que sea ejecutable
  • El período de actualización predeterminado es de 15 minutos; use el interruptor -p 1para hacerlo 1 minuto, etc. (no puede ir más bajo que eso a menos que modifique la fuente)
  • Use -l N, donde N es el número de procesos que desea mostrar, dependiendo del tamaño de su terminal.
  • Use -mpara mostrar "más" información, es decir, las estadísticas de Intercambio / Página en la parte inferior de la captura de pantalla.

El HTOP disfrazado memtop opción

Si no usa lo htopcontrario, es bastante fácil configurarlo con la opción de configuración F2 para que se vea así memtop:

ingrese la descripción de la imagen aquí

  • htop config se almacena en ~/.config/htop/htoprc, así que simplemente elimine htoprcpara restaurar htop normal .
ish
fuente
El proyecto acaba de mudarse a GitHub: github.com/MartinThoma/memtop
Martin Thoma
2

No conozco ninguna aplicación específica para monitorear lo que desea en tiempo real, pero encontré información que podría ser útil.

Primero hay un comando simple para imprimir esta información ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS(que se encuentra aquí: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )

En segundo lugar, aquí hay más información sobre los scripts para hacer lo mismo:

http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general

y

http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program

Puede escribir su propio script / programa para satisfacer sus necesidades. La información que necesita se actualiza en /proc/tiempo real, pero debe resolver dos problemas:

  1. Dudo que haya un solo archivo que enumere todos los procesos y su uso de memoria en tiempo real. En lugar cada proceso tiene sus propios archivos (en /proc/[pid]/), y algunos de los archivos potencial para encontrar esta información no es legible - aunque sospecho que statmy statustener la información necesaria y se pueden leer tanto humanos.
  2. Mostrar toda esta información en tiempo real. Sé muy poco sobre programación o programación de bash, pero para mostrar la información en tiempo real, necesitaría usar algo así como muchos tailcomandos con una tubería para ordenar / imprimir solo la información deseada para cada proceso.

Realmente no es una respuesta completa, pero espero que esto te dé algunas ideas de lo que puedes probar. ¡Buena suerte!

adempewolff
fuente
2

Intenta watch memstat -wo tal vez watch free -m.

belacqua
fuente
1

htop es bastante bueno Es razonablemente liviano (a diferencia de gnome-system-monitor. No tiene sentido para mí que un programa de monitoreo del sistema a menudo sea el programa de mayor uso).

Presione F6, luego use las teclas de flecha o el mouse para cambiar a ordenar por MEM%.

tsbertalan
fuente
2
Si bien me gusta esta respuesta, y htop (la he usado antes) estoy buscando una aplicación que siga el principio de hacer una cosa y hacerlo bien (me gusta iotop).
RolandiXor