Sprawdź całkowitą pamięć przydzieloną dla określonego procesu w Ubuntu

15

Jak mogę sprawdzić całkowitą pamięć przydzieloną dla konkretnego procesu w Ubuntu?

Anjali
źródło
1
Czy próbowałeś ps-aefl i spojrzał na kolumnę SZ?
mdpc
2
Co rozumiesz przez „znajdź przydzieloną pamięć”? Czy chcesz wiedzieć, ile pamięci zajmuje proces?
Gilles „SO- przestań być zły”

Odpowiedzi:

14

Próbować:

pidof bash | xargs ps -o rss,sz,vsz

Aby znaleźć wykorzystanie pamięci przez bieżącą bashpowłokę (zakładając, że używasz bash). Zmień bashna wszystko, co badasz. Jeśli szukasz jednego konkretnego procesu, po prostu użyj go samodzielnie:

ps -o rss,sz,vsz <process id>

Ze manstrony:

RSS: resident set size, nie wymieniona pamięć fizyczna używana przez zadanie (w kilobajtach).

SZ: rozmiar na fizycznych stronach obrazu podstawowego procesu. Obejmuje to miejsce na tekst, dane i stos.

VSZ: rozmiar pamięci wirtualnej procesu w KiB (jednostki 1024-bajtowe).

manAktualizacja psbędzie lista wszystkich możliwych argumentów do -oopcji (jest sporo do wyboru). Zamiast tego -o rss,szmożesz użyć vopcji stylu BSD (bez myślnika), która pokazuje alternatywny układ pamięci.

garethTheRed
źródło
Dzięki gareth ... Czy mówisz, że SZ to pamięć przydzielona do tego procesu?
Anjali,
4
Jest tutaj dobra kontrola jakości , która wyjaśnia związek między RSS, SZa VSZ.
garethTheRed
0

jak sprawdzić całkowitą pamięć przydzieloną dla konkretnego procesu w Ubuntu?

Nie definiują co jest pamięć przydzielona do procesu, a właściwie, że jest to dość skomplikowane pytanie (co współdzielonych mapowania pamięci - patrz mmap (2) do szczegółów; co POSIX pamięci współdzielonej - patrz shm_overview (7) dla bardziej ; co z niektórymi stronami w pamięci podręcznej stron używanymi do otwieranych plików; etc ...)

Można użyć /proc/systemu plików (który jest używany przez BTW ps, pmap, top, htopitd ....). Czytaj dalej proc (5) . W szczególności dla procesu pid 1234 można użyć /proc/1234/status, /proc/1234/statm, /proc/1234/mapsitd ... Są to wszystkie pliki tekstowe pseudo-(trochę jak rury), które można zobaczyć z cat(lub czytają kolejno wewnątrz jakiegoś programu). BTW, z wnętrza programu, którego możesz użyć /proc/self (który jest pseudo dowiązaniem symbolicznym), np. Czytać sekwencyjnie /proc/self/statusitp ...

Zobacz także LinuxAteMyRam .

Basile Starynkevitch
źródło