Existe-t-il une application qui peut afficher l'utilisation de la mémoire d'une manière similaire à top?

8

Je voudrais laisser une application en cours d'exécution dans mon terminal qui me montre l'utilisation de la mémoire, similaire à la façon dont le topprocesseur affiche et d'autres informations, et iotopmontre les meilleurs utilisateurs d'E / S.

Top et iotop

Une telle application existe-t-elle?

PS Je sais que top affiche également l'utilisation de la mémoire, mais je parle de trier par utilisation de la mémoire supérieure et de ne pas afficher d'autres informations (similaire à ce qui se iotopproduit).

RolandiXor
la source
En haut, appuyez sur M et il triera sur l'utilisation de la mémoire. C'est ça que tu cherches?
popey
Je ne sais pas non plus quelles fonctionnalités vous voulez / ne voulez pas, mais htopc'est l' topalternative que j'utilise. Bien qu'il semble que vous recherchiez peut-être des fonctionnalités moins nombreuses mais plus spécifiques plutôt que davantage de fonctionnalités?
adempewolff
@adempewolff exactement. Par exemple, iotop fait ce qu'il dit - montre l'utilisation des E / S de mes applications et rien d'autre. Je veux pouvoir dire, par exemple, «memtop» et simplement obtenir% d'utilisation de la mémoire. htopn'est pas ce que je recherche - car il montre d'autres choses (y compris l'utilisation du processeur) dont je tire déjà top. Je veux dire, j'aime sans aucun doute le htop (je l'ai déjà utilisé), mais ce n'est pas ce que je recherche dans ce cas.
RolandiXor

Réponses:

8

Le plus proche que j'ai pu trouver est memtopun script Python disponible ici sur Google Code.

Capture d'écran: entrez la description de l'image ici

Comment utiliser memtop

  • C'est un script Python, alors faites simplement un sudo mv memtop-1.0.0.py /usr/bin/memtop.pyet un chmod +x /path/to/memtop.pypour le rendre exécutable
  • La période de mise à jour par défaut est de 15 min; utilisez switch -p 1pour faire 1 minute, etc. (ne peut pas descendre plus bas que si vous ne modifiez pas la source)
  • Utilisez -l N, où N est le nombre de processus que vous souhaitez afficher, en fonction de la taille de votre terminal.
  • Utilisez -mpour afficher "plus" d'informations, c'est-à-dire les statistiques Swap / Page en bas de la capture d'écran.

Le htop déguisé en option memtop

Si vous n'utilisez pas htopautrement, il est assez facile de le configurer avec l'option de configuration F2 pour ressembler à memtop:

entrez la description de l'image ici

  • La configuration htop est stockée dans ~/.config/htop/htoprc, il suffit donc de la supprimer htoprcpour restaurer un htop normal .
ish
la source
Le projet vient d'être déplacé vers GitHub: github.com/MartinThoma/memtop
Martin Thoma
2

Je ne connais aucune application spécifique pour surveiller ce que vous voulez en temps réel, mais j'ai trouvé des informations qui pourraient être utiles.

Voici d'abord une commande simple pour imprimer ces informations ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS(disponible ici: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )

Deuxièmement, voici quelques informations supplémentaires sur les scripts pour faire de même:

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

et

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

Vous pouvez écrire votre propre script / programme pour répondre à vos besoins. Les informations dont vous avez besoin sont toutes mises à jour en /proc/temps réel, mais vous devez résoudre deux problèmes:

  1. Je doute qu'il existe un fichier répertoriant tous les processus et leur utilisation de la mémoire en temps réel. Au lieu de cela, chaque processus a ses propres fichiers (en /proc/[pid]/), et certains des fichiers potentiels pour trouver ces informations ne sont pas lisibles par l'homme - bien que je soupçonne cela statmet statusdisposent des informations nécessaires et soient tous deux lisibles par l'homme.
  2. Affichage de toutes ces informations en temps réel. Je connais très peu de scripts bash ou de programmation, mais pour afficher les informations en temps réel, vous devez utiliser quelque chose comme beaucoup de tailcommandes avec un canal pour trier / imprimer uniquement les informations souhaitées pour chaque processus.

Pas vraiment une réponse complète, mais j'espère que cela vous donne quelques idées de ce que vous pourriez essayer. Bonne chance!

adempewolff
la source
2

Essayez watch memstat -wou peut-être watch free -m.

belacqua
la source
1

htop est assez génial. Il est relativement léger (contrairement à gnome-system-monitor. Cela n'a aucun sens pour moi qu'un programme de surveillance du système soit souvent le programme le plus utilisé.)

Appuyez sur F6, puis utilisez les touches fléchées ou la souris pour passer au tri par MEM%.

tsbertalan
la source
2
Bien que j'aime cette réponse, et htop (je l'ai déjà utilisé), je recherche une application qui suit le principe de faire une chose et de bien le faire (comme iotop).
RolandiXor