Dimensiunea de proces pe UNIX

voturi
23

Care este modul corect de a obține dimensiunea procesului pe Solaris, HP-UXși AIX? Ar trebui să folosim topsau ps -o vszsau altceva?

Întrebat 04/08/2008 la 08:34
sursa de către utilizator
În alte limbi...                            


4 răspunsuri

voturi
17

Definițiile exacte ale vsize, rss, rprvt, rshrd, și alte abrevieri obscure aspect variază de la OS la OS. Paginile manual pentru topși pscomenzile vor avea un fel de descriere, dar toate aceste descrieri sunt mult simplificate (sau se bazează pe implementările kernel lung dispărute).
„Dimensiunea de proces“ , ca un concept este dificil de fiendishly în cazul general. Răspunsuri în cazuri specifice , depind în mare măsură de punerea în aplicare efectivă de gestionare a memoriei în sistemul de operare, și sunt rareori la fel de satisfăcătoare ca „dimensiunea procesului“ , conceptul ordonat care există în mintea majorității utilizatorilor (și majoritatea dezvoltatorilor).

De exemplu, nici unul dintre aceste numere (și nici, probabil, orice combinație a acestora) pot fi folosite pentru a vă spune exact cât de multe astfel de procese pot rula la o dată într-o anumită cantitate de memorie liberă. Dar, într-adevăr, cel mai bun pariu este de a veni la ea de la acest scop: de ce vrei acest număr, și ce vei folosi pentru? Având în vedere aceste informații, cred că vei obține răspunsuri mai utile.

Publicat 05/08/2008 la 02:07
sursa de către utilizator

voturi
5

Pe Solaris, puteți obține informații detaliate cu privire la utilizarea memoriei unui proces de la pmapcomanda. În special, pmap -x <pid>vă arată cât de mult din memoria unui proces este partajată și cât de mult este utilizat în mod specific de acest proces. Acest lucru este util pentru a lucra afară „marginală“ utilizarea memoriei unui proces - cu această tehnică puteți evita bibliotecile partajate dublu-numărare.

Publicat 20/09/2008 la 06:37
sursa de către utilizator

voturi
3

Da, ai dreptate pentru a bloca la vSz.

ps uvă va da vSz și RSS, care sunt dimensiunea memoriei virtuale și dimensiunea setului rezident. RSS este cât de mult de memorie fizică a fost alocată procesului, iar vSz este dimensiunea memoriei virtuale a procesului. Dacă aveți mai multe copii ale unui program care rulează, o mulțime de memorie în vSz vor fi împărțite între aceste procese.

Publicat 04/08/2008 la 09:21
sursa de către utilizator

voturi
2

Am rezumat dimensiunea setului rezident pentru toate procesele de acest gen (ca root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Publicat 20/03/2014 la 15:59
sursa de către utilizator

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