Ponieważ Google Chrome / chromium spawnuje wiele procesów, trudniej jest zobaczyć, ile całkowitej pamięci zajmują te procesy.
Czy istnieje prosty sposób na sprawdzenie, ile całkowitej pamięci zajmuje seria połączonych procesów?
memory
chrome
process-management
multithreading
Ryan1729
źródło
źródło
Odpowiedzi:
Biorąc pod uwagę, że Google zabił pamięć chrome: // memory w marcu 2016 r., Teraz używam smem :
chrom
pełną ścieżką, np./opt/google/chrome
lub/usr/lib64/chromium-browser
-P firefox
sudo smem
tego.źródło
338.0M
. To jest za niskie. Po uruchomieniu Monitora systemu widzę, że istnieje 11 procesów chrome i każdy zajmuje od 70 MB do 400 MB pamięci RAM. Nie jestem pewien, czy Monitor systemu raportuje niepoprawnie, czy nie.chrome
zamiast tego tylkochorm
dlatego, że jeśli używasz zarówno chromu, jak i chromu, zobaczysz sumę dla obu.smem
z własnego wyjścia, używając czegoś takiego jak[c]hrome
npsmem -tkP '[c]hrome'
. Działa to poprzez dopasowaniec
wewnętrznych nawiasów kwadratowych, a nie samych nawiasów.Jestem pewien, że nie jest to najlepsze rozwiązanie, ale nadal działa dla mnie:
Uwaga: zmień na
[/]opt/google/chrome/chrome
coś odpowiedniego dla twojego systemu, np. Jeśli korzystasz z Mac OS X (po prostugrep "chrome"
będzie działać).źródło
awk
polecenia? To znaczy, dlaczego nie tylko... | 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
według najwyższej odpowiedzi. Chociaż FWIW, zaimplementowałbym go jako skrypt lub funkcję, ponieważ jest zbyt skomplikowany dla aliasu.Uruchamianie tego:
zajmuje 1,8 GB pamięci RAM. Więc możesz się spodziewać uruchomienia tego:
zajęłoby 16 razy więcej. Ale tak nie jest.
Wynika to z inteligentnego kopiowania przy zapisie przez jądro Linuksa: Ponieważ zawartość „$ a” nie zmienia się, pamięć „$ a” może być współdzielona. Ale pozostanie udostępniony tylko do momentu zmiany „$ a”. Kiedy to nastąpi, zmieniona sekcja zostanie skopiowana i zacznie zajmować pamięć RAM.
Nie wiem, czy można zmierzyć, ile pamięci jest przepełnione przy kopiowaniu przy zapisie. Ale to przynajmniej tłumaczy twoje przeludnienie.
źródło
Wystarczy szybko obliczyć sumę procesów.
Na komputerze Mac :
chrome://system/
i wybierz wszystkie zgłoszone w mem_usagepython
, CMD + V, EnterGotowe! „Łatwy” ... 🤓😅
PS - Skróty ninja i lata 80. / 90. Gracze walczący nie powinni mieć problemu z tym rozwiązaniem 🤖🕹💾
źródło
Znalazłem rozwiązanie z vimem i awk. Otwórz chrome: // system, rozwiń mem_usage, skopiuj do vima i uruchom wyrażenie regularne:
Pozostawia to tylko liczby przed MB. Zapisz plik i uruchom
Nie mogłem przekonwertować kodu regularnego vim na sed.
źródło
Istnieje USS, który jest dostępny na różnych platformach
psutil> 4.0 biblioteka Python może uzyskać do niej dostęp
Oto użyłbym tego
gdzie pid = 292 jest PID najbardziej zewnętrznego procesu z Monitora aktywności
źródło
Wiedziałem, że chrome / chromium ma menedżera zadań, ale nie daje całkowitej wykorzystanej pamięci. Okazuje się, że link „Statystyki dla frajerów” w menedżerze zadań prowadzi do chrome: // memory-redirect /, która wyświetla całkowitą wykorzystaną pamięć. Byłoby miło mieć zewnętrzną weryfikację tych liczb, a także sposób uzyskania informacji w wierszu poleceń, aby można było z tym zrobić więcej, ale wydaje się, że jest to najlepszy dostępny sposób.
źródło