Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Bei meiner Programmierarbeit muss ich oft wissen, wie viel Speicher von Webanwendungen verwendet wird. Eine grobe Schätzung reicht in der Regel aus, bevor Sie sich mit den Details und Browser-Profiling-Tools befassen.
Um die Speichernutzung unter Linux oder macOS abzufragen, verwenden die Leute normalerweise top oder htop. Ich würde gerne eine einzelne Zahl sehen:Wie viel RAM hat ein Prozess benötigt. Aber Statistiken, die von diesen Dienstprogrammen angezeigt werden, können schwer zu verstehen sein. Bei Webbrowsern ist es noch komplizierter, da sie oft viele separate Prozesse ausführen. Sie alle werden in der Top-Ausgabe als lange Liste angezeigt, jede mit ihren eigenen individuellen Messwerten.
Geben Sie den smem-Befehl ein
Glücklicherweise gibt es smem, ein weiteres Befehlszeilenprogramm zum Anzeigen von Statistiken zur Speichernutzung. Installieren Sie es mit dem Paketmanager Ihrer Wahl, zum Beispiel:
sudo apt install smem
Gehen Sie wie folgt vor, um die Gesamtspeicherauslastung von Firefox abzurufen:
smem -c pss -P firefox -k -t | tail -n 1
Was passiert hier?
-c
switch gibt die anzuzeigenden Spalten an. Ich interessiere mich nur für pss Spalte, die den von einem Prozess zugewiesenen Speicher anzeigt.-P
Schalten Sie die Filterprozesse so um, dass sie nur diejenigen mit Firefox enthalten im Namen-k
Der Schalter sagt, dass die Speichernutzung in Mega/Gigabyte statt in reinen Bytes angezeigt werden soll-t
Schalter zeigt die Summen antail -n 1
filter gibt nur die letzte Zeile aus, genau dort, wo die Summen stehen
Die Ausgabe ist denkbar einfach:
$ smem -t -k -c pss -P firefox | tail -n 1
4.9G
Direkt auf den Punkt! Und nach einem weiteren anstrengenden Arbeitstag mit über fünfzig geöffneten Tabs verwendet Firefox immer noch nur 5 GB. Nimm das, Google Chrome;-)
Noch einfacher mit einem Skript
Erstellen Sie der Einfachheit halber ein kleines Skript mit dem Namen memory-use
, die den Prozessnamen als Parameter akzeptiert. Ich bewahre alle meine Skripte in ~/bin
auf , also:
echo 'smem -c pss -P "$1" -k -t | tail -n 1' > ~/bin/memory-use && chmod +x ~/bin/memory-use
Jetzt kann ich die Speichernutzung jeder Anwendung so einfach messen wie:
memory-use firefox
memory-use chrome
memory-use slack
Und es gibt noch mehr!
Das Dienstprogramm kann viel mehr als nur die gesamte Speichernutzung anzeigen. Es kann sogar eine grafische Ausgabe erzeugen.
Zum Beispiel:
smem --pie name -c pss
Zeigt etwa Folgendes an:
Für weitere Details empfehle ich einen Blick in die Manpages von smem.
Ein weiteres großartiges Tutorial finden Sie unter https://linoxide.com/memory-usage-reporting-smem/.
Viel Spaß!
Dieser Artikel erschien ursprünglich im Blog des Autors und wird mit Genehmigung erneut veröffentlicht.