Vă mulțumim pentru susținere

Dimensiunea procesului pe UNIX

Care este modalitatea corectă de a obține dimensiunea procesului pe Solaris, HP-UX și AIX ? Trebuie să folosim top sau ps -o vsz sau altceva?

0
adăugat editat

4 răspunsuri

Da, ai dreptate să te blochezi la VSZ.

ps u will give you the VSZ and RSS, which are the virtual memory size and resident set size. The RSS is how much physical memory has been allocated to the process, and the VSZ is the virtual memory size of the process. If you have several copies of a program running, a lot of the memory in the VSZ will be shared between those processes.

0
adăugat
Numărul VSZ este inutil dacă ceea ce vă interesează este consumul de memorie. VSZ măsoară cât spațiu de memorie virtual al procesului a fost marcat de proces ca memorie care ar trebui să fie mapată de sistemul de operare dacă se întâmplă să se atingă acest proces. Dar nu are nimic de-a face cu faptul că această amintire a fost de fapt atinsă și folosită. VSZ este un detaliu intern despre modul în care procesul face alocarea memoriei? cât de mare este o bucată de memorie neutilizată pe care o apucă deodată. Uită-te la RSS pentru numărul paginilor de memorie pe care le-a început să le u
adăugat autor Brandon Rhodes

Definițiile exacte ale vsize , rss , rprvt , rshrd OS. Paginile manuale pentru comenzile top și ps vor avea un fel de descriere, dar toate aceste descrieri sunt foarte simplificate (sau se bazează pe implementări de kernel dispărut de mult timp). < br> "Dimensiunea procesului" ca concept este greu de identificat în cazul general. Răspunsurile în anumite situații depind în mare măsură de implementarea reală a gestionării memoriei în sistemul de operare și sunt rareori la fel de satisfăcătoare ca și conceptul de "dimensiune de proces" îngrijit, care există în mintea majorității utilizatorilor (și celor mai mulți dezvoltatori).

De exemplu, niciunul dintre acele numere (și nici probabil o combinație a acestora) nu poate fi folosit pentru a vă spune exact cât de multe astfel de procese pot rula simultan într-o anumită cantitate de memorie liberă. Dar, cu adevărat, cel mai bun pariu este să veniți în acest scop: de ce doriți acest număr și pentru ce îl veți folosi? Având în vedere aceste informații, cred că veți obține răspunsuri mai utile.

0
adăugat

On Solaris, you can get detailed information on a process's memory usage with the pmap command. In particular, pmap -x shows you how much of a process's memory is shared and how much is specifically used by that process. This is useful for working out the "marginal" memory usage of a process -- with this technique you can avoid double-counting shared libraries.

0
adăugat

Am rezumat dimensiunea setului rezident pentru toate procesele ca aceasta (ca root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
0
adăugat