Frage

Wenn ich zu WHM gehe und den Speicherverbrauch meines Servers sehe, heißt es, dass nur 16% des Speichers verwendet werden. Wenn ich jedoch eine Verbindung zum Server mithilfe von SSH und den Befehl "Free -m" herstelle, wird angezeigt, dass 80% verwendet werden. Warum ist das so? Ich möchte die genaue Speicherverwendung aller Anwendungen wissen, die wie MySQL, Apache usw. ausgeführt werden, wie sehe ich das?

Vielen Dank

War es hilfreich?

Lösung

Wie sie sagen, "ist es kompliziert".

Linux verwendet einen ungenutzten Speicher für die Festplattenpufferung und -speicherung. Es beschleunigt die Dinge. Aber vielleicht müssen Sie sich das ansehen -/+ Puffer/Cache Linie von frei.

'ps' kann Ihnen für einen bestimmten Prozess oder für alle Prozesse zeigen, die %Zentralprozessor, %mem, kumulative CPU-Zeit, RSS (Resident Set Size, der nicht verfälschte physische Speicher, den ein Prozess verwendet), Größe (sehr Ungefähre Menge an Tauschraum, die erforderlich wäre, wenn der Prozess alle beschreibbaren Seiten schmutzig und dann ausgetauscht werden würde), vrize (Virtuelle Speicherverwendung des gesamten Prozesses (vm_lib + vm_exe + vm_data + vm_stack)) und vieles mehr.

Für einen bestimmten Prozess können Sie Katzen/Proc/$ PID/Status - es ist menschlich lesbar - und überprüfen Sie die VmSize, Vmlck, VMRSS, Vmdata, Vmstk, Vmexe, Vmlib, und Vmpt Werte zusammen mit anderen ...

Aber das ist nur für den Anfang ... Prozesse können Speicher zuweisen, aber nicht verwenden. (Speicher kann zugewiesen werden, aber die Speicherseiten werden erst dann erstellt/ausgestellt, wenn sie tatsächlich verwendet werden. Das ganze On-Demand-Ding.)

Prozesse können im Hardwarebereich zugeordnet und als die Verwendung einer großen Menge an Speicher angezeigt werden, die nicht tatsächlich von System -RAM stammt. (Es ist bekannt, dass X-Server dies manchmal tun. Es sind einige wackelige Dinge mit Kernel-Treibern ...)

Es gibt die ausführbare Datei, die normalerweise eine von Speicher abgebildete Datei ist. Dies bedeutet, dass Teile, die ausgetauscht werden, RAM aufnehmen, aber wenn sie ausgetauscht werden, nimmt es nie den SwappFile-Platz ein.

Prozesse können andere Speicher-abgebildete Dateien haben ...

Es gibt freigegebene Bibliotheken, in denen dieselben RAM-Seiten gleichzeitig von mehreren Programmen verwendet werden.

Also müssen wir fragen, was genau zählt und was nicht?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top