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

8

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

Top und iotop

Existiert eine solche Anwendung?

PS Ich weiß, dass top auch die Speichernutzung anzeigt, aber ich spreche davon, nach der höchsten Speichernutzung zu sortieren und keine anderen Informationen anzuzeigen (ähnlich wie bei der iotopArbeit).

RolandiXor
quelle
Drücken Sie oben M, um die Speichernutzung zu sortieren. Ist es das, wonach du suchst?
Papst
Ich bin mir auch etwas unklar, welche Funktionen Sie wollen / nicht wollen, aber es htopist die topAlternative, die ich benutze. Obwohl es so klingt, als ob Sie vielleicht nach weniger, aber spezifischeren Funktionen suchen, anstatt nach mehr Funktionen?
Adempewolff
@adempewolff genau. Zum Beispiel macht iotop das, was es sagt - zeigt die E / A-Nutzung meiner Anwendungen und sonst nichts. Ich möchte in der Lage sein, "memtop" auszuführen und nur die Speichernutzung% zu erhalten. htopist nicht das, wonach ich suche - weil es andere Dinge (einschließlich der CPU-Auslastung) zeigt, von denen ich bereits bekomme top. Ich meine, ich mag htop ohne Zweifel (ich habe es schon einmal benutzt), aber es ist nicht das, wonach ich in diesem Fall suche.
RolandiXor

Antworten:

8

Das nächste, das ich finden konnte, ist memtopein Python-Skript, das hier bei Google Code verfügbar ist .

Bildschirmfoto: Geben Sie hier die Bildbeschreibung ein

Wie man memtop benutzt

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

Das als memtop- Option getarnte htop

Wenn Sie nichts htopanderes verwenden, ist es ziemlich einfach, es mit der F2-Setup-Option so einzurichten memtop:

Geben Sie hier die Bildbeschreibung ein

  • Die htop- Konfiguration ist in gespeichert. ~/.config/htop/htoprcLöschen Sie htoprcsie einfach , um das normale htop wiederherzustellen .
ish
quelle
Das Projekt ist gerade auf GitHub umgezogen: github.com/MartinThoma/memtop
Martin Thoma
2

Ich kenne keine spezifische Anwendung zur Überwachung Ihrer Wünsche in Echtzeit, habe jedoch einige Informationen gefunden, die hilfreich sein könnten.

Hier ist zunächst ein einfacher Befehl zum Drucken dieser Informationen 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 /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 für Menschen lesbar - obwohl ich das vermute statmund statusüber die erforderlichen Informationen verfüge und beide von Menschen lesbar sind.
  2. Alle diese Informationen in Echtzeit anzeigen. Ich weiß sehr wenig über Bash-Scripting oder -Programmierung, aber um die Informationen in Echtzeit anzuzeigen, müssten Sie so etwas wie viele tailBefehle mit einer Pipe verwenden, um nur die gewünschten Informationen für jeden Prozess zu sortieren / zu drucken.

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

adempewolff
quelle
2

Versuchen Sie es watch memstat -woder vielleicht watch free -m.

belacqua
quelle
1

htop ist ziemlich toll. Es ist relativ leicht (im Gegensatz zum Gnome-System-Monitor. Für mich macht es keinen Sinn, dass ein Systemüberwachungsprogramm oft das am häufigsten genutzte Programm sein sollte.)

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

Tsbertalan
quelle
2
Während ich diese Antwort mag und htop (ich habe sie schon einmal benutzt), suche ich nach einer App, die dem Prinzip folgt, eine Sache zu tun und sie gut zu machen (wie iotop).
RolandiXor