Da Google Chrome / Chrom mehrere Prozesse erzeugt, ist es schwieriger festzustellen, wie viel Gesamtspeicher diese Prozesse insgesamt belegen.
Gibt es eine einfache Möglichkeit, um festzustellen, wie viel Gesamtspeicher eine Reihe verbundener Prozesse belegt?
memory
chrome
process-management
multithreading
Ryan1729
quelle
quelle
Antworten:
Angesichts der Tatsache, dass Google Chrome: // Speicher im März 2016 getötet hat, verwende ich jetzt smem :
chrom
durch vollständigen Pfad ersetzen zB/opt/google/chrome
oder/usr/lib64/chromium-browser
-P firefox
sudo smem
dafür.quelle
338.0M
. Das ist zu niedrig. Wenn ich den Systemmonitor ausführe, sehe ich, dass es 11 Chromprozesse gibt und jeder zwischen 70 MB und 400 MB RAM beansprucht. Nicht sicher, ob der Systemmonitor falsch meldet oder nicht.chrome
anstelle von nur verwenden,chorm
weil, wenn Sie sowohl Chrom als auch Chrom ausführen, Sie für beide total sehen würden.smem
von der eigenen Ausgabe ausschließen, indem Sie etwas wie[c]hrome
zsmem -tkP '[c]hrome'
. Dies funktioniert, indem diec
inneren eckigen Klammern und nicht die Klammern selbst angepasst werden.Ich bin mir sicher, dass es nicht die beste Lösung ist, aber es funktioniert für mich:
Hinweis: Ändern Sie den
[/]opt/google/chrome/chrome
Wert in einen für Ihr System geeigneten Wert, z. B. wenn Sie unter Mac OS X arbeiten (grep "chrome"
funktioniert einfach ).quelle
awk
Befehle? Das heißt, warum nicht einfach... | awk '{sum += $6} END {print sum}'
?ps aux | grep "/opt/google/chrome/chrome" | awk '{vsz += $5; rss += $6} END { print "vsz="vsz, "rss="rss }'
smem
nach der oberen Antwort. Obwohl FWIW, würde ich es als Skript oder Funktion implementieren, da es für einen Alias zu komplex ist.Laufen diese:
beansprucht 1,8 GB RAM. Sie würden also folgendes erwarten:
würde 16 mal so viel aufnehmen. Aber das tut es nicht.
Dies liegt am intelligenten Copy-on-Write des Linux-Kernels: Da sich der Inhalt von '$ a' nicht ändert, kann der Speicher von '$ a' gemeinsam genutzt werden. Es bleibt jedoch nur solange freigegeben, bis '$ a' geändert wird. In diesem Fall wird der geänderte Abschnitt kopiert und der Arbeitsspeicher belegt.
Ob Sie messen können, wie viel Speicher beim Kopieren überschrieben wird, weiß ich nicht. Aber zumindest erklärt dies Ihr Überzählen.
quelle
Berechnen Sie einfach schnell die Summe der Prozesse.
Auf dem Mac :
chrome://system/
und wähle alle in mem_usage gemeldeten auspython
, CMD + V, EnterEt voila! "Einfach" ... 🤓😅
PS - Shortcut Ninjas & 80er / 90er Fighting-Game-Spieler sollten mit dieser Lösung kein Problem haben 🤖🕹💾
quelle
Ich habe mit vim und awk eine Lösung gefunden. Öffne chrome: // system, erweitere mem_usage, kopiere nach vim und führe den regulären Ausdruck aus:
Dies lässt nur die Zahlen vor MB. Speichern Sie die Datei und führen Sie aus
Ich konnte den vim-Regexp-Code nicht in sed konvertieren.
quelle
Es gibt USS, die plattformübergreifend verfügbar ist
psutil> 4.0 Python-Bibliothek kann darauf zugreifen
Hier würde ich es benutzen
Dabei ist pid = 292 die PID des äußersten Prozesses von Activity Monitor
quelle
Ich wusste, dass Chrom / Chrom einen Task-Manager hat, aber er gibt nicht den gesamten verwendeten Speicher an. Es stellt sich heraus, dass der Link "Stats for Nerds" im Task-Manager zu chrome: // memory-redirect / führt, das den gesamten verwendeten Speicher auflistet. Es wäre schön, eine externe Validierung dieser Nummern sowie eine Möglichkeit zu haben, die Informationen in der Befehlszeile abzurufen, damit mehr damit getan werden kann, aber dies scheint der beste verfügbare Weg zu sein.
quelle