Der Befehl linux top zeigt die Speicherübersicht in Megabyte und nicht in Kilobyte an

15

Redhat EL5

Ich hatte mein Top so konfiguriert, wie ich es mag, um die Speicherzusammenfassung und die Auslagerungszusammenfassung in MB anzuzeigen. Ich musste meine Shell schließen und als ich sie wieder öffnete, wurde sie wieder in (Standard?) Kilobyte angezeigt.

Ich habe Google durchsucht und Top-Hilfe und man die Seite. Ich kann nicht scheinen, die Anzeige in der MB-Wahl zu finden. Obwohl ich viele andere, etwas seltsame Optionen gefunden habe ...

Wenn jemand weiß, wäre ich sicher dankbar.

Vielen Dank!

Michael Irey
quelle
Bist du sicher, dass es TOP war und kein Klon mit mehr Optionen? Auf der Manpage von TOP gibt es keine Informationen darüber, ob die Daten in einer für Menschen lesbaren Form angezeigt werden können.
Prix
Ich bin sicher, es war top. Das Standard-Top, das mit Redhat Enterprise Linux 5 geliefert wird. Procps version 3.2.7
Michael Irey

Antworten:

16

Ich weiß, dass ich sehr spät dran bin, aber ich nehme an, Sie haben Folgendes verwendet:

top -M

Aus der Tom-Manpage zu RHEL 5:

-M : Detect memory units
Show memory units (k/M/G) and display floating point values in the memory summary.
Diego Cortassa
quelle
Soviel zum Durchsuchen der Manpage nach "kilo" und "mega", um diese Informationen zu finden.
Dan Pritts
6
Tom-M nicht für Ubuntu arbeiten, nur für Centos
Janwen
Weder Fedora 20
Sivann
11

Unter Linux können Sie mit ekey die Task-Speicherskala von Byte bis Petabyte ändern. Wenn Sie Ihre Auswahl getroffen haben, drücken Sie W( shift + w), um die Änderungen zu speichern ~/.toprc.

GreenScape
quelle
Tolle Lösung und Antwort.
Housemd
3

Lassen Sie mich die Antwort von Bindbn oben näher erläutern und untersuchen . Die Quelle im procps-Paket, Zeilen 3131 und 3134, zeigt, dass die Ausgabe die in scale_num()Zeile 761 definierte Funktion durchläuft. Was ich in der scale_num()Funktion gelesen habe, besagt, dass sie Präzision gegenüber Schönheit bevorzugt. Wenn die verfügbaren Immobilien nur für Menschen lesbar sind, sollte es so sein, aber standardmäßig wird es in KB angezeigt.

Also, was ich denke, ist passiert, dass Sie ein paar Prozesse mit MB in ihrem Speicherverbrauch (resident oder shared) gesehen haben und sich betrogen haben, als Sie es wieder geöffnet haben. Entweder das, oder Sie haben ein anderes Tool verwendet.

Wenn Sie damit einverstanden sind, dass Sie sich verirrt haben, markieren Sie bitte eine Antwort als Die Antwort, damit diese Frage von der Liste der unbeantworteten Fragen gestrichen wird. Vielen Dank.

Um sich selbst zu überzeugen, laden Sie das Quell-RPM in das Paket und prüfen Sie, ob Patches darauf angewendet wurden. Sie müssten wahrscheinlich das SRPM installieren und die Spezifikationsdatei prüfen, um den Namen der verwendeten Patch-Dateien zu erhalten. Erfahren Sie, wie Sie ein RPM erstellen (eine praktische Fertigkeit), und schauen Sie sich die gepatchte Quelle von top.c an, falls sie überhaupt gepatcht wurde. Vergleichen Sie den Baum mit dem Link, den ich oben angegeben habe, und prüfen Sie, ob es einen Unterschied gibt. Beachten Sie, dass dies möglicherweise nicht trivial ist.

Nullzeit
quelle
3

Durch Eingabe von "E" durch KiB, MiB, GiB, TiB, PiB und EiB.

Roger Vasconcelos
quelle
2

Original Top (Procps 3.2.8) kann die Speicherzusammenfassung nicht in MB anzeigen (ich sehe den Quellcode an).

bindbn
quelle
Ich habe das Standard-Top verwendet, das mit Redhat Enterprise Linux 5 geliefert wird. Ehrlich, irgendwie hatte ich es so eingestellt, dass es in MB angezeigt wird. Aber danke, dass du dir den Quellcode ansiehst. procps version 3.2.7
Michael Irey
2

"top -M M" ist der Befehl zum Abrufen des Speicherteils in Megabyte. Ändern Sie das letzte M in K für Kilobyte

"top -n 1 d 2" wird nur einmal wiederholt

sudhansu
quelle