Wie kann ich meminfo in Megabyte oben anzeigen?


184

Manchmal ist es nicht angenehm, meminfo in Kilobyte anzuzeigen, wenn Sie mehrere GB RAM haben. In Linux sieht es so aus:

oben, mit Speicherstatistiken, die alle auf Kb skaliert sind

Und so sieht es in Mac OS X aus:

oben, mit auf Mb und Gb skalierten Speicherstatistiken

Gibt es eine Möglichkeit, meminfo in Linux Top in Terabyte, Gigabyte und Megabyte anzuzeigen?


6
Anscheinend besagen einige Beiträge, dass Sie in Redhat Linux etwas tun können top -M, um die Verwendung in MB anzuzeigen. Wenn Sie nur die Speichernutzung überwachen möchten, können Sie eher verwenden htop. Ich bin mir keiner anderen Option sicher.
Barun

Richtig, aber in der eingebauten Hilfe steht nichts dazu. Ich konnte das nur gelegentlich in der Manpage finden
Anthony Ananich,

1
Die Manpage ist die eingebaute Hilfe.
Casey

3
Sie könnten immer free -moder besser free -hverwenden.
Terdon

5
Sobald Sie in den Top-Hit gesprungen sind, Ebis die gesuchte Speicherkumulation angezeigt wird, drücken Sie W, um diese Konfiguration auf die Festplatte zu schreiben.
Trevor Norris

Antworten:


205

Wenn Sie oben "E" eingeben, werden die verschiedenen Speichereinheiten (kb, mb, gb usw.) in der Gesamtspeicherinfo durchlaufen:

Das Bild zeigt oben die allgemeine Speicheranzeige mit GiB als Einheit.

Während "e" in Kleinbuchstaben die gleichen einzelnen Prozesslinien ausführt:

Das Bild zeigt Prozesse oben, in denen der Speicher in MB angezeigt wird

Aus der Manpage:

2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.

Versionsinformationen: top -version : procps-ng version 3.3.9 System: CentOS 7


7
Funktioniert nicht für mich in RHEL
Anthony Ananich

4
Funktioniert in Ubuntu 14.04 Prost.
tjjjohnson

arbeitet in fedora 20
sivann

5
@AnthonyAnanich: Funktioniert für mich in RHEL 7.
krlmlr

3
<Zeitmaschine aus der Zukunft> Ich finde, die Standardeinheiten von Petabytes sind absolut unzureichend und nicht hilfreich. Am Ende muss ich immer mindestens einmal E drücken, um in Einheiten von Exabyte die Spitze zu erreichen. </ Time machine from the future>
Trevor Boyd Smith

69

Es gibt eine Befehlszeilenoption, die dies bewirkt:

-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.

Es reicht also aus, oben so zu laufen:

top -M

Wenn -Mdies nicht funktioniert, können Sie drücken, Ewährend Sie bereits oben sind.

Von man top(procps-ng Version 3.3.9):

E: Extend-Memory-Scale in Summary Area Mit diesem Befehl können Sie die verfügbare Speicherskalierung des Summary Area durchlaufen, die von KiB (Kibibytes oder 1.024 Bytes) bis EiB (Exbibytes oder 1.152.921.504.606.846.976 Bytes) reicht.

Wenn Sie ein '+' zwischen einer angezeigten Nummer und dem folgenden Label sehen, bedeutet dies, dass top gezwungen war, einen Teil dieser Nummer abzuschneiden. Durch Erhöhen des Skalierungsfaktors kann ein solches Abschneiden vermieden werden.

oben, zeigt Speichereinheiten in "M"


23
+1, aber in Ubuntu geprüft, sein Sprichwort funktioniert nicht. Irgendwie in Ubuntu?
Donnerstag,

Ich habe keine Ahnung, @richardparker
Anthony Ananich

1
Verdammt, Sie haben eine Menge Karma mit einer einfachen (aber guten) selbst beantworteten Frage und Antwort aufgebaut. Gute Arbeit.
user1717828

4
Diese Unschärfe ist nicht verschwommen genug, Antonio.
Evgeni Sergeev

2
Funktioniert für RHEL 6 (Drücken von 'E' entspricht nicht dem oberen Kommentar)
Geschmolzenes Eis

48

Sie können auch verwenden htop. Es ist viel cooler als top.

Wenn Sie Debian oder eines seiner Derivate verwenden, können Sie es mit installieren sudo apt-get install htop.

htop screenshot

Bearbeiten: Hier ist ein Screenshot mit einem besseren Farbschema:

htop Screenshot mit besseren Farben


17
htopsieht mit weißem oder schwarzem Hintergrund besser aus. Ihr Screenshot-Farbschema ist nicht optimal.
Juli

2
@jlliagre Auge des Betrachters.
Jonathan Komar

@ macmadness86 alternativer Screenshot hinzugefügt
jlliagre

1
htop wird mit anderen Farbschemen geliefert, auf die Sie im Setup zugreifen können F2.
Miguel Mota

Ich laufe mit, alias top='htop --no-color'damit ich "top" eingeben und einen angemessenen Ersatz für top ohne das schreckliche Farbschema erhalten kann.
Benjamin

35

top -Mfunktioniert meines Wissens nicht auf Fedora-, Debian- oder Ubuntu-Distributionen. Ich habe es gerade ausprobiert und es ist nicht im procps-ngLieferumfang enthalten top. Es gibt viele Implementierungen, topdaher muss man besonders darauf achten, welche sie verwenden.

Im Allgemeinen ist es am besten, freemit Switching zu arbeiten, um unter Linux freien Speicher zu erhalten.

procps vs. procps-ng

Vielleicht haben Sie bemerkt, dass dies auf CentOS 5 & 6 sowie RHEL 5 & 6 top -Mzu funktionieren scheint. Dies liegt daran, dass diese Distributionen mit der Originalversion von geliefert werden procps. Das Projekt wurde gegabelt und es gibt jetzt ein anderes Projekt procps-ng.

Auf der Seite des Fedora-Projekts finden Sie einige Details dazu, warum es eine Gabel gab .

Auszug

Alte (ältere) procps-Tools hatten mehrere Jahre lang keine Updates und das führte zu einer massiven Aufteilung des Codes, die durch eine lokale Anwendung von verteilungsspezifischen Patches verursacht wurde, die nicht im Upstream zusammengeführt wurden. Das Projekt wurde kaum mehr wartbar, da einige der neu geschriebenen Patches nicht mit Quellen kompatibel waren, die von anderen Distributoren gepflegt wurden. Eine ähnliche Inkompatibilität kann im Verhalten der Anwendungen und ihren Befehlszeilenoptionen festgestellt werden. Dieses unvermeidliche Update kann als Versuch verstanden werden, die procps-Tools für alle Linux-Distributionen zu vereinheitlichen.

procps-ngUm es klar auszudrücken: Das Forked- Projekt wird von Debian, Fedora, Ubuntu und anderen Distributionen verwendet. Das Legacy-Projekt, das Support bietet, top -Mwird immer noch von mehreren längerfristigen Releases verwendet, die nicht mit den neuesten kompatibel sind und am größten.

HINWEIS: Ich habe die neueste Version von procps-ng"procps-ng version 3.3.9.1-14ef" heruntergeladen und es fehlte auch der -MSchalter.

$ ./top/top -version
  procps-ng version 3.3.9.1-14ef
Usage:
  lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

kostenlos

In Laufen freemit Schaltern können Sie die wahrscheinlichste Grund, warum die fehlenden Einheiten Merkmal von fehlt procps-ng‚s Umsetzung top.

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7782       6506       1276          0        504       1726
-/+ buffers/cache:       4274       3507
Swap:         7823       1429       6394
[saml@greeneggs ~]$ free -k
             total       used       free     shared    buffers     cached
Mem:       7969492    6663180    1306312          0     516948    1764780
-/+ buffers/cache:    4381452    3588040
Swap:      8011772    1463456    6548316

Das Runden wird problematisch, daher glaube ich, dass procpsdie Implementierung das Problem vermeidet, indem sie nicht die Fähigkeit bietet.

htop

Führt eine OK-Aufgabe zum Anzeigen der Gesamtspeicherauslastung aus.

   ss von htop

oben auf

Meiner Meinung nach ein besseres Werkzeug, um das Gedächtnis zu betrachten.

   ss von atop

nmon

Ein weiteres nützliches Werkzeug ist das nmonBetrachten der Systemleistung.

   ss von nmon


1
top -Marbeitet für mich in RHEL6
Anthony Ananich

2
@AnthonyAnanich - Ich habe das etwas genauer recherchiert. CentOS 5.4s Top-Version "procps version 3.2.8" hat den -MSchalter CentOS 5.8, und auch diesen Schalter "procps version 3.2.7". Fedora 19 hat jedoch "procps-ng version 3.3.8", die den -MSwitch nicht unterstützt .
slm

@AnthonyAnanich - Details zu meiner Antwort über procps vs. procps-ng hinzugefügt.
slm

Tolle Antwort, danke, @slm. Ich weiß nicht einmal, welche der drei Antworten die beste ist. Wird niemandem vergeben, ich möchte andere Menschen entscheiden lassen.
Anthony Ananich

@ AnthonyAnanich - NP. Sie sollten in Betracht ziehen, eine auszuwählen, wenn Sie der Meinung sind, dass sie Ihre Q 100% beantwortet. Das Akzeptieren eines A ist wichtig, da es dem Rest der Community signalisiert, dass Sie als OP das Gefühl haben, dass dieses A Ihre speziellen Probleme beantwortet oder gelöst hat. Wenn andere A's hervorragend sind, werden sie auch UV-bestrahlt. Das Nicht-Akzeptieren ist im Grunde ein Signal dafür, dass Sie als OP immer noch das Gefühl haben, dass Ihr Q nicht ausreichend beantwortet wurde. Das akzeptierte A wird auch als 1. A positioniert, wenn Sie Ihr Q in der Zukunft sehen.
SLM

23

Sie können die folgenden Tasten drücken:

  • e - Ändern Sie den Skalierungsfaktor in der Übersichtsanzeige
  • Shift+ e- Ändern Sie den Skalierungsfaktor für die Aufgabe
  • Shift+ w- Aktuelle Einstellungen speichern

e und shift-e sind auf meinem system zumindest
umgekehrt

3
Wusste nicht über Shift+ w, toller Tipp, um meine Konfiguration zu speichern :)
leise

6

Also die schnelle Antwort: je nach Linux-Distribution versuchen Sie entweder:

top -M

ODER, nachdem Sie top gestartet haben, geben Sie Großbuchstaben E ein (dann W , um die Konfiguration zu schreiben).

Eine davon sollte für fast alle funktionieren (außer für Solaris, wo Sie das Glück haben, überhaupt die Spitze zu haben).

Bonus-Tipp: Wenn Sie bei einer Neuinstallation eine Top-Instanz starten, geben Sie ExyzW ein , um Farben, Hervorhebungen und Einheiten zu speichern - was für eine Erleichterung!


5
Alle diese Informationen wurden bereits veröffentlicht.
Scott

0

Auf RHEL7 oben Shift + e oder CspsLK ON. Sie benötigen das Großbuchstaben "E".

Sie erhalten in MiB, Gib, TiB, PiB, EiB. All diese können Sie zugreifen.

Und Sie können auch den Befehl htop eingeben, der heruntergeladen und auf dem RPM-Basissystem installiert werden soll.

Danke. Sagar Dalvi

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.