it-swarm.com.de

Gibt es eine Anwendung, die die Speichernutzung auf ähnliche Weise wie oben anzeigen kann?

Ich möchte eine Anwendung in meinem Terminal laufen lassen, die mir die Speichernutzung anzeigt, ähnlich wie top CPU und andere Informationen anzeigt und iotop die Top-E/A-Benutzer anzeigt.

Top and iotop

Existiert eine solche Anwendung?

S. Ich weiß, dass oben auch die Speichernutzung anzeigt, aber ich spreche davon, nach der Hauptspeichernutzung zu sortieren und keine anderen Informationen anzuzeigen (ähnlich dem, was iotop tut).

8
RolandiXor

Das nächstgelegene, das ich finden konnte, ist memtop, ein Python verfügbares Skript hier in Google Code.

Bildschirmfoto: enter image description here

Wie benutzt man memtop

  • Es ist ein Python Skript, also mache einfach einen Sudo mv memtop-1.0.0.py /usr/bin/memtop.py und einen chmod +x /path/to/memtop.py, um es ausführbar zu machen
  • Die Standardaktualisierungsdauer beträgt 15 Minuten. benutze den Schalter -p 1, um es 1 Minute zu machen, usw. (kann nicht niedriger sein, es sei denn, du änderst die Quelle)
  • Verwenden Sie -l N, wobei N die Anzahl der Prozesse ist, die Sie abhängig von der Größe Ihres Terminals anzeigen möchten.
  • Verwenden Sie -m, um "mehr" Informationen anzuzeigen, d. H. Die Swap/Page-Statistiken am unteren Rand des Screenshots.

Die Option htop , getarnt als memtop

Wenn Sie htop nicht verwenden, ist es ziemlich einfach, es mit der F2-Setup-Option so einzurichten, dass es wie memtop aussieht:

enter image description here

  • htop config wird in ~/.config/htop/htoprc gespeichert. Löschen Sie also einfach htoprc, um das normale htop wiederherzustellen .
8
ish

Ich kenne keine spezifische Anwendung zum Überwachen der gewünschten Informationen in Echtzeit, habe jedoch einige Informationen gefunden, die hilfreich sein könnten.

Hier ist zunächst ein einfacher Befehl zum Drucken dieser Info ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS (hier zu finden: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory- usage-per-process-160181 / )

Zweitens gibt es hier einige weitere Informationen zu Skripten, um dasselbe zu tun:

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

und

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

Sie können Ihr eigenes Skript/Programm schreiben, um Ihre Anforderungen zu erfüllen. Die Informationen, die Sie benötigen, werden alle in /proc/ in Echtzeit aktualisiert, aber Sie müssen zwei Probleme lösen:

  1. Ich bezweifle, dass es eine Datei gibt, in der alle Prozesse und ihre Speichernutzung in Echtzeit aufgelistet sind. Stattdessen hat jeder Prozess seine eigenen Dateien (in /proc/[pid]/), und einige der potenziellen Dateien zum Auffinden dieser Informationen sind nicht lesbar - obwohl ich vermute, dass statm und status die erforderlichen Dateien haben info und sind beide menschenlesbar.
  2. Anzeige all dieser Informationen in Echtzeit. Ich weiß sehr wenig über Bash-Skripte oder -Programmierungen, aber um die Informationen in Echtzeit anzuzeigen, müssten Sie so etwas wie viele tail -Befehle mit einer Pipe verwenden, um nur die gewünschten Informationen für jeden Prozess zu sortieren/drucken.

Nicht wirklich eine vollständige Antwort, aber hoffentlich gibt Ihnen dies einige Ideen, was Sie versuchen könnten. Viel Glück!

2
adempewolff

Versuchen Sie watch memstat -w oder vielleicht watch free -m.

2
belacqua

htop ist ziemlich toll. Es ist einigermaßen leichtgewichtig (im Gegensatz zu Gnome-System-Monitor. Für mich macht es keinen Sinn, dass ein Systemüberwachungsprogramm oft das am häufigsten verwendete Programm ist.)

Drücken Sie F6 und wechseln Sie dann mit den Pfeiltasten oder der Maus zur Sortierung nach MEM%.

1
tsbertalan