Velikost proces v systému UNIX

hlasů
23

Jaký je správný způsob, jak získat velikost proces na Solaris, HP-UXa AIX? Bychom měli používat top, nebo ps -o vsz, nebo něco jiného?

Položena 04/08/2008 v 08:34
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
17

Přesná definice vsize, rss, rprvt, rshrda další obskurní vyhlížející zkratky se liší od operačního systému OS. Manuálové stránky pro topa pspříkazů bude mít nějaký popis, ale všechny tyto popisy jsou zjednodušené značně (nebo jsou založeny na implementacích dlouho vyhynulých jádra).
„Velikost Process“ jako pojem je ďábelsky obtížné postřehnutelné v obecném případě. Odpovědi v určitých případech závisí do značné míry na skutečné realizaci správy paměti v operačním systému, a jen zřídka jako uspokojivý jako uklizené „velikosti proces“ koncept, který existuje v myslích většiny uživatelů (a většina developerů).

Například, žádný z těchto čísel (ani, pravděpodobně jakákoliv kombinace z nich) mohou být použity k vám přesně říci, kolik takových procesů může běžet najednou v daném množství volné paměti. Ale opravdu, je nejlepší, aby se na to z té souvislosti: proč chcete toto číslo, a to, co budete používat pro? Vzhledem k tomu, že informace, myslím, že budete mít další užitečné odpovědi.

Odpovězeno 05/08/2008 v 02:07
zdroj uživatelem

hlasů
5

Na Solaris, můžete získat podrobnější informace o využití paměti procesu je s pmappříkazem. Zejména pmap -x <pid>ukazuje, kolik paměti procesu je sdílena a kolik se používá především tímto procesem. To je užitečné pro vypracování „marginální“ využití paměti procesu - s touto technikou můžete se zamezilo dvojímu počítání sdílené knihovny.

Odpovězeno 20/09/2008 v 06:37
zdroj uživatelem

hlasů
3

Ano, máte pravdu, zamknout na VŠZ.

ps udám vám VŠZ a RSS, které jsou virtuální velikost paměti a nastavení velikosti bydliště. RSS je, jak již mnoho fyzické paměti byla přidělena procesu a VSZ je velikost virtuální paměti procesu. Pokud máte několik kopií spuštěného programu bude hodně paměti v VŠZ být sdílena mezi těmito procesy.

Odpovězeno 04/08/2008 v 09:21
zdroj uživatelem

hlasů
2

shrnul jsem velikost set obyvatel pro všechny procesy, jako je tato (jako root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Odpovězeno 20/03/2014 v 15:59
zdroj uživatelem

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