Wie werden Top-Prozesse nach aktueller Speichernutzung sortiert angezeigt?
Ich habe einen server mit 12G Speicher. Ein fragment, das top ist unten dargestellt:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12979 frank 20 0 206m 21m 12m S 11 0.2 26667:24 krfb
13 root 15 -5 0 0 0 S 1 0.0 36:25.04 ksoftirqd/3
59 root 15 -5 0 0 0 S 0 0.0 4:53.00 ata/2
2155 root 20 0 662m 37m 8364 S 0 0.3 338:10.25 Xorg
4560 frank 20 0 8672 1300 852 R 0 0.0 0:00.03 top
12981 frank 20 0 987m 27m 15m S 0 0.2 45:10.82 amarok
24908 frank 20 0 16648 708 548 S 0 0.0 2:08.84 wrapper
1 root 20 0 8072 608 572 S 0 0.0 0:47.36 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
Den free -m
zeigt Folgendes:
total used free shared buffers cached
Mem: 12038 11676 362 0 599 9745
-/+ buffers/cache: 1331 10706
Swap: 2204 257 1946
Wenn ich das richtig verstehe, das system hat nur 362 MB des verfügbaren Speichers. Meine Frage ist: Wie finde ich heraus, welcher Prozess den meisten Speicher?
Nur als hintergrund info, das system läuft 64bit OpenSuse 12
.
InformationsquelleAutor der Frage user3111525 | 2011-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten, wiederholen Sie dieses mantra für eine Weile: "ungenutzter Speicher ist verschwendeter Speicher". Der Linux-kernel hält rund riesige Mengen von Datei-Metadaten und Dateien, die angefordert wurden, bis zu etwas, das aussieht wichtiger schiebt die Daten. Es ist der Grund, warum Sie ausgeführt werden können:
haben und die zweite
find
Instanz run auf lächerliche Geschwindigkeit.Linux nur ein wenig verlässt Arbeitsspeicher 'frei' zu behandeln Spitzen im Speicherverbrauch ohne zu viel Aufwand.
Zweiten, wollen Sie die Prozesse, die Essen den ganzen Speicher; in
top
verwenden Sie dieM
Befehl, um die Art von Speicher zu verwenden. Fühlen Sie sich frei, zu ignorieren, dieVIRT
Spalte, die nur sagt Ihnen, wie viel virtueller Speicher zugewiesen wurde, nicht, wie viel Arbeitsspeicher, die vom Prozess verwendet wird.RES
meldet, wie viel Speicher ist residentoder aktuell im ram (im Gegensatz zu auf die Festplatte ausgelagert oder eigentlich nie vergeben den ersten Platz, trotz Aufforderung).Aber, da
RES
zählen z.B./lib/libc.so.6
Speicher einmal für fast jeden Prozess, es ist nicht gerade eine tolle Maßnahme von, wie viel Speicher ein Prozess. DieSHR
Spalte meldet, wie viel Speicher ist gemeinsamen mit anderen Prozessen, aber es gibt keine Garantie, dass ein anderer Prozess tatsächlich zu teilen-es könnte sein, sharable, nur sonst niemand will zu teilen.Den
smem
tool wurde entwickelt, um Benutzern zu helfen, eine bessere gage, wie viel Speicher sollte wirklich Schuld ist, auf jeden einzelnen Prozess. Es hat einige clevere Arbeit, um herauszufinden, was wirklich einmalig, was freigegeben ist, und proportional deckt sich die shared-memory-Prozesse zu teilen.smem
kann Ihnen helfen, zu verstehen, wo Ihr Gedächtnis wird besser alstop
wird, abertop
ist eine ausgezeichnete erste-tool.InformationsquelleAutor der Antwort sarnold
verwenden Sie quick-Tipp mit top-Befehl in linux - /unix -
und drücken Sie dann Shift+m (D. H. schreiben Sie eine Hauptstadt
M
).Vom
man top
Alternativ: drücken Sie Shift + f , dann wählen Sie das display, um durch die Speichernutzung durch drücken von Taste n und dann drücken Sie die Taste Enter. Sie werden sehen, aktiver Prozess, bestellt durch den memory-Nutzung
InformationsquelleAutor der Antwort risnandar
(Addition -n numerische flag Befehl "Sortieren".)
InformationsquelleAutor der Antwort Angelinux
Ersten, die Sie Lesen sollten,eine Erklärung über die Ausgabe von
free
. Bottom line: Sie haben mindestens 10.7 GB der Speicher leicht zu benutzendes von Prozessen.Dann sollten Sie definieren, was "memory usage" ist für einen Prozess (es ist nicht leicht oder eindeutig, Vertrauen Sie mir).
Dann könnten wir in der Lage sein zu helfen mehr 🙂
InformationsquelleAutor der Antwort thkala
Liste und Sortieren Sie die Prozesse nach Speichernutzung:
InformationsquelleAutor der Antwort Tomir Schmite Jr.
ps aux --sort '%mem'
vom procps' ps (standardmäßig auf Ubuntu 12.04) erzeugt eine Ausgabe wie:
Hier also Firefox ist der top-Verbraucher 16% von mein-Speicher.
Könnten Sie auch interessieren:
InformationsquelleAutor der Antwort Ciro Santilli 新疆改造中心 六四事件 法轮功
können Sie angeben, welche Spalte zu Sortieren, mit folgenden Schritten:
InformationsquelleAutor der Antwort Eric Wang
Sehen Sie die Speicherauslastung durch ausführen dieses Codes im terminal:
InformationsquelleAutor der Antwort Cubiczx