Vra

Wat is die korrekte manier om die proses grootte op Solaris, HP-UX en AIX kry? Moet ons gebruik top of ps -o vsz of iets anders?

Was dit nuttig?

Oplossing

Die presiese definisies van vsize, rss, rprvt, rshrd, en ander donker lyk afkortings wissel van OS te OS. Die handleiding bladsye vir die top en ps opdragte sal 'n soort van beskrywing, maar al sulke beskrywings word sterk oorweeg (of is gebaseer op die lang-uitgesterf kern implementering).
"Proses grootte" as 'n konsep is fiendishly moeilik om vas te pen in die algemene geval. Antwoorde in spesifieke gevalle baie afhanklik is van die werklike geheuebestuur implementering in die OS, en is selde so bevredigend soos die netjiese "proses grootte" konsep wat in die gemoedere van die meeste gebruikers (en die meeste ontwikkelaars) bestaan.

Byvoorbeeld, een van daardie getalle (nie, waarskynlik, 'n kombinasie van hulle) kan gebruik word om jou te vertel presies hoeveel sulke prosesse gelyktydig kan hardloop in 'n gegewe hoeveelheid gratis geheue. Maar regtig, jou beste bet is om te kom na dit uit die einde: waarom wil jy hierdie nommer, en wat sal jy dit gebruik vir? Gegee dat inligting, ek dink jy sal meer nuttig antwoorde kry.

Ander wenke

Op Solaris, kan jy inligting oor 'n proses se geheue gebruik met die pmap opdrag kry. In die besonder, pmap -x <pid> wys jou hoeveel geheue 'n proses se gedeel en hoeveel is spesifiek gebruik word deur die proses. Dit is nuttig vir die uitwerk van die "marginale" geheue gebruik van 'n proses -. Met hierdie tegniek wat jy kan te vermy dubbel tel gedeel biblioteke

Ja, jy is reg om te sluit by die VSZ.

ps u sal jy die VSZ en RSS, wat die virtuele geheue grootte en inwoner stel grootte is gee. Die RSS is hoeveel fisiese geheue het om die proses toegeken, en die VSZ is die virtuele geheue grootte van die proses. As jy 'n paar kopieë van 'n program hardloop het, sal 'n groot deel van die geheue in die VSZ gedeel tussen die prosesse.

Ek opgesom die inwoner stel grootte vir alle prosesse soos hierdie (as root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top