Wielkość procesu UNIX

głosy
23

Co to jest poprawny sposób uzyskać rozmiar procesów na Solaris, HP-UXi AIX? Powinniśmy użyć toplub ps -o vszczy coś innego?

Utwórz 04/08/2008 o 08:34
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
17

Dokładne definicje vsize, rss, rprvt, rshrd, i inne skróty niejasne wyglądzie różnią się od systemu operacyjnego do systemu operacyjnego. Strony podręcznika dla topi pskomend będzie mieć jakiś opis, ale wszystkie te opisy są znacznie uproszczone (lub są oparte na długo wymarłych implementacje jądra).
„Rozmiar Proces” jako pojęcie to fiendishly trudne do styku w ogólnym przypadku. Odpowiedzi w konkretnych przypadkach uzależniona od rzeczywistego wdrożenia zarządzania pamięcią w systemie operacyjnym, a rzadko są tak satysfakcjonujące jak schludny „wielkości procesowej” koncepcji, która istnieje w umysłach większości użytkowników (i najbardziej programistów).

Na przykład, żadna z tych liczb (ani też, prawdopodobnie, każda kombinacja z nich) może być używany, aby powiedzieć dokładnie, ile takie procesy mogą działać jednocześnie w danej ilości wolnej pamięci. Ale tak naprawdę, najlepiej jest przyjść na nią z tym koniec: dlaczego chcesz ten numer, a co będzie go używać? Biorąc pod uwagę, że informacje, myślę, że dostaniesz więcej użytecznych odpowiedzi.

Odpowiedział 05/08/2008 o 02:07
źródło użytkownik

głosy
5

Solaris, można uzyskać szczegółowe informacje na temat użycia pamięci proces jest z pmappolecenia. W szczególności, pmap -x <pid>pokazuje, ile pamięci proces jest wspólna i ile jest wykorzystywane specjalnie do tego procesu. Jest to przydatne do pracy na zewnątrz „” marginalne wykorzystanie pamięci procesu - z tej techniki można uniknąć podwójnego liczenia współdzielonych bibliotek.

Odpowiedział 20/09/2008 o 06:37
źródło użytkownik

głosy
3

Tak, masz rację, aby zablokować na VSZ.

ps udaje VSŽ i RSS, które są wirtualnym wielkość pamięci i miejsce zamieszkania rozmiar zestawu. RSS to ile pamięci fizycznej została przydzielona do procesu, a VSZ jest wirtualny rozmiar pamięci procesu. Jeśli masz kilka kopii uruchomionego programu, dużo pamięci w VSZ będzie dzielona między tymi procesami.

Odpowiedział 04/08/2008 o 09:21
źródło użytkownik

głosy
2

I podsumował wielkości zadanej zamieszkania dla wszystkich procesów, takich jak ten (jako root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Odpowiedział 20/03/2014 o 15:59
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more