? Festlegung der Höhe der Speicher durch einen Prozess, der auf einer Linux-Plattform verwendet wird, ist eine heikle Angelegenheit. Die Werte für die Speichernutzung durch das Betriebssystem gemeldet sind ungenau. Bei Verwendung der integrierten Versorgungsunternehmen mit Linux versehen , ist es wichtig, die Statistiken über die Speicherauslastung und wie sie berechnet verstehen . Wie funktioniert ein Prozess Use Memory?
Wenn ein Prozess gestartet wird, ordnet das Betriebssystem die Größe des Speichers erfordert das Verfahren zu laufen. Jeder Prozess hat vier Memory-Segmente für ausführbaren Code und Daten. Der "Code" -Segment enthält die ausführbaren Anweisungen. Die "Daten"- Segment enthält statische und globale Variablen . Der "Stack" enthält lokale Variablen . Der " Haufen " enthält dynamisch zugewiesenen Objekte . Prozesse können verwenden shared libraries . Laufzeitbibliotheken werden nur einmal in den Speicher geladen, und alle Prozesse mit einem bestimmten gemeinsamen Bibliothek wird diese Kopie verwenden .
Welche Speicher Statistik Hat Linux Report?
Virtueller Speicher ist die Gesamtmenge des Adressraums des Betriebssystems auf den Prozess reserviert für ihre Code-, Daten-und Stack. Die Größe des virtuellen Speichers von Linux berichtet enthält alle Code-, Daten -und Stack-Speicher zur Verwendung durch einen Prozess reserviert ist, sowohl auf physischen Speicher und Swap-Speicher . Dieser Wert enthält , der von allen gemeinsam genutzten Bibliotheken durch das Verfahren verwendet. Die Folgerung daraus ist, dass die gemeinsam genutzten Bibliotheken in voller Größe auf die eines bestimmten Prozesses zu zählen.
Der Bewohner Speichergröße eines Prozesses durch Linux berichtet umfasst nur die Menge an physikalischem Speicher der Prozess und die gemeinsamen Bibliotheken es Referenzen werden zu einem gegebenen Zeitpunkt mit . Segmente verschoben , um Platz zu tauschen sind nicht enthalten. Wie mit Größe des virtuellen Speichers enthält residenten Speicher Größe des Raumes durch Shared Libraries verwendet .
Profil ein einfacher Prozess mit ps Snapshot
Die ps -Dienstprogramm bietet eine Momentaufnahme der laufenden Prozesse auf dem System , die Berichterstattung über die virtuellen Bewohner und Speichergröße, CPU und Speicher Prozentsätze und eine Vielzahl von anderen Informationen . Um einen einzelnen Prozess zu untersuchen , verwenden Sie die folgenden Optionen, um ps , einschließlich VSZ für die Größe des virtuellen Speichers und rss für den Bewohner Speichergröße. Zum Beispiel
ps p 3746 o pid , rss, VSZ , comm
Ausgänge für Prozess 3746 :
PID RSS VSZ 14444 351216 COMMAND3746 httpd2
Überwachung von Prozessen mit top
Die obere Dienstprogramm bietet eine Live-Ansicht der System-Performance . Um einen oder mehrere Prozesse mit top überwachen , verwenden Sie die Option - p , um eine Liste von Prozess-IDs bereitzustellen. Zum Beispiel:
Top -p 3746,6100,28753,23176,25544
Nach dem Start oben , drücken Sie die Befehls-Taste "f" , um die Spalte Auswahl zu gelangen. Schalten Sie die Anzeige für die PID , VIRT , RES , SHR , SWAP , Code-, Daten -und COMMAND Spalten . Wie im Screenshot dargestellt , das Display zeigt jetzt die folgenden Speicherkarten Statistiken :
VIRT : Virtueller Speicher sizeRES : Resident Speicher sizeSHR : Shared Memory sizeSWAP : Vertauschte Größencode : Code Größe in physikalischen memoryDATA : Data Plus Stack-Größe in physischen Speicher
Spähen in /proc
Detaillierte Status-und Prozess-Speicherverbrauch Informationen finden Sie in /proc gefunden werden / /Status und /proc /< pid > /smaps .
VmPeak : Spitze des virtuellen Speichers sizeVmSize : Virtuelle memoryVmData : Daten Segment sizeVmStk : Stapel sizeVmExe : Executable Segment sizeVmLib : Bibliothek Eine Vielzahl von Informationen in /proc / /Status, einschließlich dieser Speicher enthaltenen Statistiken Code-Größe
/proc / /smaps bietet eine sehr detaillierte Ansicht eines Prozesses Speicher Gebräuche , aufgeschlüsselt nach Mapping für Code , Stack , Heap und jede freigegebene Bibliothek gebrochen. Die komplette Ausgabe des smaps ist ziemlich langwierig und schwierig zu verdauen. Sie können das Linux: smaps Perl-Modul zum Analysieren und Verarbeiten der Datei smaps
.