dimensione del processo su UNIX

voti
23

Qual è il modo corretto per ottenere la dimensione processo su Solaris, HP-UXe AIX? Dovremmo usare topo ps -o vszo qualcos'altro?

È pubblicato 04/08/2008 alle 08:34
fonte dall'utente
In altre lingue...                            


4 risposte

voti
17

Le definizioni esatte di vsize, rss, rprvt, rshrd, e altre abbreviazioni oscure dall'aspetto variano da sistema operativo a sistema operativo. Le pagine di manuale per le tope pscomandi avranno una sorta di descrizione, ma tutte queste descrizioni sono semplificate notevolmente (o sono basati su implementazioni del kernel a lungo estinti).
"Dimensione Process" come concetto è diabolicamente difficile da definire nel caso generale. Risposte in casi specifici dipendono fortemente l'attuazione effettiva gestione della memoria nel sistema operativo, e sono raramente soddisfacente come il concetto di ordine "dimensione processo" che esiste nella mente della maggior parte degli utenti (e maggior parte degli sviluppatori).

Per esempio, nessuno di questi numeri (né, probabilmente, una qualsiasi combinazione di essi) può essere utilizzato per dirvi esattamente quanti di questi processi possono essere eseguiti in una sola volta in una data quantità di memoria libera. Ma in realtà, la cosa migliore è venire la cosa da questo fine: perché vuoi questo numero, e che cosa intende utilizzarlo per? Dato che le informazioni, penso che avrai risposte più utili.

Risposto il 05/08/2008 a 02:07
fonte dall'utente

voti
5

Su Solaris, è possibile ottenere informazioni dettagliate sull'utilizzo di memoria di un processo con il pmapcomando. In particolare, pmap -x <pid>si mostra come gran parte della memoria di un processo è condiviso e quanto è specifico per questo processo. Questo è utile per risolvere la "marginale" utilizzo della memoria di un processo - con questa tecnica è possibile evitare il doppio conteggio librerie condivise.

Risposto il 20/09/2008 a 06:37
fonte dall'utente

voti
3

Sì, hai ragione per bloccare al VSZ.

ps uvi darà la VSZ e RSS, che sono la dimensione della memoria virtuale e la dimensione resident set. L'RSS è la quantità di memoria fisica è stata assegnata al processo, e il VSZ è la dimensione della memoria virtuale del processo. Se si dispone di più copie di un programma in esecuzione, un sacco di memoria nel VSZ sarà condivisa tra quei processi.

Risposto il 04/08/2008 a 09:21
fonte dall'utente

voti
2

Ho riassunto la dimensione resident set per tutti i processi di questo tipo (come root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Risposto il 20/03/2014 a 15:59
fonte dall'utente

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