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.
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 ...
Odpowiedzi:
Próbować:
Aby znaleźć wykorzystanie pamięci przez bieżącą
bash
powłokę (zakładając, że używaszbash
). Zmieńbash
na wszystko, co badasz. Jeśli szukasz jednego konkretnego procesu, po prostu użyj go samodzielnie:Ze
man
strony: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).man
Aktualizacjaps
będzie lista wszystkich możliwych argumentów do-o
opcji (jest sporo do wyboru). Zamiast tego-o rss,sz
możesz użyćv
opcji stylu BSD (bez myślnika), która pokazuje alternatywny układ pamięci.źródło
RSS
,SZ
aVSZ
.Możesz użyć
pmap
która pokazuje mapę pamięci procesu:Więcej informacji na ten temat można znaleźć na stronie podręcznika użytkownika
man pmap
lub w pmap (1): zgłoś mapę pamięci procesu - stronę podręcznika systemu Linux .źródło
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 BTWps
,pmap
,top
,htop
itd ....). Czytaj dalej proc (5) . W szczególności dla procesu pid 1234 można użyć/proc/1234/status
,/proc/1234/statm
,/proc/1234/maps
itd ... Są to wszystkie pliki tekstowe pseudo-(trochę jak rury), które można zobaczyć zcat
(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/status
itp ...Zobacz także LinuxAteMyRam .
źródło