Ich habe top
im Moment die Speichernutzung gesehen. Ich möchte jedoch die Speichernutzung über einen bestimmten Zeitraum hinweg überwachen. Starten Sie z. B. die Überwachung und führen Sie dann einige Befehle aus. Beenden Sie dann die Überwachung und sehen Sie, wie viel Speicher während des Zeitraums verwendet wurde.
Wie kann ich das auf Ubuntu Server machen?
Ich schätze, ich könnte alle 5 Sekunden einen Cronjob starten und einen Befehl aufrufen, der die aktuelle Speichernutzung in einer Textdatei aufzeichnet. Aber welchen Befehl soll ich verwenden, um die aktuelle Speichernutzung in einem Format abzurufen, das sich leicht in eine Textdatei schreiben lässt?
2896
und dann1528
für Puffer haben, bedeutet dies nicht, dass Sie verwenden2896 + 1528
?Mem: used
ist Ihr insgesamt verwendeter Speicher.-/+ buffers/cache: used
ist der insgesamt genutzte Speicher abzüglich Puffer und Cache. Ich weiß, dass die Ausgabe lustig aussieht, aber hier ist keine Arithmetik erforderlich. Sie suchen nur nach used / free in der Zeile - / + Buffer / Cache.free -h
, zBwatch -n 5 free -h
um eine "menschenlesbare" Ausgabe zu bekommen, zB2.1G
anstatt2170
in der Ausgabe.Ich denke,
htop
ist die beste Lösung.sudo apt-get install htop
Auf diese Weise werden Sie feststellen, welche Programme am meisten RAM verwenden. und Sie können einfach einen beenden, wenn Sie möchten. Hier ist ein Screenshot!
quelle
htop
ist schön, weil es "grafischer" und möglicherweise leichter zu lesen ist alsfree
.RES
der von dieser Anwendung verwendete Speicher in MB angegeben? Was ist dannSHR
?htop
die "Speichernutzung über einen bestimmten Zeitraum" angezeigt?Wenn Sie nach einer netten Aufschlüsselung des von jedem ausgeführten Prozess verwendeten Speichers suchen, empfehle ich möglicherweise, ps_mem.py ( hier bei pixelbeat.org zu finden) zu überprüfen.
Ich weiß, dass Sie in den obigen Kommentaren erwähnt haben, dass Sie einen einzeiligen Schnappschuss von free wollen , aber ich dachte, andere könnten dies nützlich finden.
Beispielausgabe:
Der einzige Teil, den ich nicht mag, ist die Tatsache, dass das Skript angibt, Root-Rechte zu benötigen. Ich hatte noch keine Gelegenheit, genau zu sehen, warum dies der Fall ist.
quelle
pip install ps_mem
) und auf GitHub verfügbar .Verwenden Sie den Befehl free . Dies ist zum Beispiel die Ausgabe von
free -m
:free -m | grep /+
gibt nur die zweite Zeile zurück:quelle
947
ist also die Speichernutzung abzüglich des für Puffer und Caches verwendeten Speichers?Der Befehl watch kann nützlich sein. Versuchen Sie
watch -n 5 free
, die Speichernutzung alle fünf Sekunden durch Aktualisierungen zu überwachen.quelle
Sie können es mit tun
cat /proc/meminfo
.quelle
watch cat /proc/meminfo
free
Befehl entnimmt seine Informationen/proc/meminfo
und präsentiert sie kompakt. Verwendungfree -h
für lesbare Ausgaben.Zur visuellen Überwachung der gesamten RAM-Auslastung wird bei Verwendung von Byobu die Speichernutzung in der unteren rechten Ecke des Terminals beibehalten und ausgeführt, während Sie sich in einer Terminalsitzung befinden.
Wie Sie auf dem Screenshot sehen können, hat meine virtuelle Maschine eine Betriebszeit von 1 Stunde und drei Minuten, eine Auslastung von 0,00, einen (virtuellen) 2,8-GHz-Prozessor und 994 MB (21%) des auf dem System verfügbaren Arbeitsspeichers.
quelle
Einzeilige Lösung und Ausgabe:
Hier ist ein Beispiel für die erwartete Ausgabe:
quelle
Ich würde Kakteen benutzen . Dadurch wird die Speichernutzung usw. über einen bestimmten Zeitraum hinweg grafisch dargestellt, und Sie können die Nutzung mit Ihrem Webbrowser überprüfen.
quelle
Überwachen der Speichernutzung
Ich stimme eher mit einem der vorhergehenden Beiträge überein, in denen Cacti als eine großartige Möglichkeit zur Überwachung der Speichernutzung erwähnt wurde. Da es den Anschein hat, dass Kakteen im Mainstream nicht mehr beliebt sind, gibt es eine alternative Grafikanwendung namens Graphite.
Graphite ist relativ einfach auf einem Ubuntu-Server zu installieren. Um es zu installieren, können Sie diesen Link für die einfach zu befolgenden Installationsverfahren überprüfen .
Nach der Installation von Graphit können Sie nun Speichermetriken in einem von Ihnen gewünschten Intervall senden. alle 5 Sekunden, jede Minute, jede Stunde ... usw.
Wie bereits in früheren Beiträgen vorgeschlagen, können Sie zum Zeichnen von Speichermesswerten mithilfe von Systemtools ein eigenes Skript schreiben, um die erforderlichen Speicherinformationen zu erfassen. Oder Sie können ein vorgefertigtes snmp-Plugin verwenden, das die ganze Arbeit für Sie erledigt.
Wenn Sie Ihr eigenes Speicherskript schreiben möchten, sollten Sie sicherstellen, dass Sie bei der Berechnung des verwendeten Speichers den zwischengespeicherten und den zwischengespeicherten Speicher berücksichtigen. Andernfalls werden falsche Daten erfasst.
Wenn Sie stattdessen ein snmp-Plugin verwenden möchten, das bereits alle erforderlichen Berechnungen für Sie durchführt, finden Sie hier einen Link zu einem, der recht gut funktioniert: checkMemoryviaSNMP .
Vorteile von SNMP:
Ich habe SNMP auf allen von mir überwachten Remote-Knoten installiert. Auf diese Weise kann ich alle meine Systeme von einem zentralen Server aus überwachen , ohne dass die Remote-Knoten kopiert oder mit einem Plug-In versehen werden müssen.
Nachteile von SNMP:
Sie müssen sicherstellen, dass der snmp-Agent auf jedem der Remote-Knoten installiert ist, auf denen Sie den Speicher überwachen möchten. Diese Installation ist jedoch ein einmaliger Vorgang. Wenn Sie Automatisierungstools wie Chefkoch, Marionette oder ähnliche Tools in Ihrer Umgebung verwenden, ist dies überhaupt kein Problem.
Konfiguration des SNMP-Agenten auf dem / den Remote-Knoten:
Nachdem der snmp-Agent installiert wurde, rufen Sie einfach die Datei /etc/snmpd/snmpd.conf auf und fügen Sie diese Zeile hinzu:
Starten Sie dann den snmpd-Agenten neu mit:
Anschließend können Sie auf Ihrem zentralen Server, von dem aus Sie alle anderen Server überwachen, den folgenden Befehl ausführen:
quelle