Wie man die Sicht von Linux auf den RAM sieht, um die Fragmentierung zu bestimmen
Dem Programm nur relevant, ich weiß, der ist pmap
aber dieser druckt nur die Erinnerung an einen Prozess.
Ich würde gerne sehen, wie die physischen Speicher besetzt ist und durch welche Prozesse/Bibliothek, einschließlich des Kernels, den gesamten physischen RAM (im Gegensatz zu, dass aus dem Prozess' POV mit pmap
).
Idealerweise auch mit einer grafischen Oberfläche.
Weißt du, ob es ein solches tool?
Weiß ich über die Mehrdeutigkeit eingeführt, die von Bibliotheken. Wenn es der Fall ist, könnte es die Anzeige eines 1-pixel-Breite Linie und einen Pfeil, um die Reale Lage der Bibliothek.
Was brauche ich das? Zum anzeigen der RAM-Fragmentierung.
InformationsquelleAutor der Frage Flavius | 2011-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fragmentierung Des Speichers
Wenn sich ein Linux-system läuft schon eine Weile Fragmentierung des Speichers erhöhen kann, hängt stark von der Art der Anwendungen, die auf es läuft. Je mehr Prozesse der Zuweisung und Freigabe von Speicher, der schneller Speicher stark fragmentiert wird. Und der kernel kann nicht immer in der Lage sein zu defragmentieren, genug Speicher für die angeforderte Größe auf Zeit. Wenn das passiert, werden Anwendungen möglicherweise nicht zuordnen können größere zusammenhängende Speicherbereiche, obwohl genug freier Speicher zur Verfügung steht. Beginnend mit dem 2.6 kernel, d.h. RHEL4 und SLES9, Speicher-management hat sich enorm verbessert und eine Fragmentierung des Speichers hat sich weniger ein Problem.
Zu sehen, die Fragmentierung des Speichers können Sie die magic-SysRq-Taste. Einfach folgenden Befehl ausführen:
Diesem Befehl wird der aktuelle Speicher-dump-Informationen in /var/log/messages. Hier ist ein Beispiel von einem RHEL3 32-bit-system:
Die erste Zeile zeigt die DMA-Speicher-Fragmentierung. Die zweite Zeile zeigt die Geringe Fragmentierung des Speichers und die Dritte Zeile zeigt die Hohe Fragmentierung des Speichers. Die Ausgabe zeigt die Fragmentierung des Speichers im unteren Speicherbereich. Aber es gibt viele große Speicher-chunks erhältlich in den Hohen Speicherbereich, wie z.B. 28 4MB.
Wenn der Speicher Informationen nicht ausgegeben /var/log/messages, dann SysRq nicht aktiviert wurde. Aktivieren Sie SysRq, durch die Einstellung sysrq 1:
Beginnend mit dem 2.6 kernel, d.h. RHEL4 und SLES9, brauchen Sie nicht SysRq-dump-Speicher-Informationen. Sie können einfach prüfen /proc/buddyinfo für die Fragmentierung des Speichers.
Hier ist die Ausgabe eine 64-bit-server mit 2.6 kernel:
In diesem Beispiel habe ich SysRq wieder zu zeigen, was jede Zahl in /proc/buddyinfo bezieht.
Quelle: http://www.puschitz.com/pblog/
InformationsquelleAutor der Antwort