volevo sapere, sotto le colonne VIRT RES e SHR cos'è quella m accanto al valore numerico? nel senso, in che formato il programma riporta l'occupazione della memoria del singolo processo?
Gimli[2BV!2B]
05-09-2011, 21:04
VIRT, memoria virtuale -> RAM + swap + "immaginazione": tutto lo spazio che kernel ha reso disponibile al processo.
Immaginazione: la somma di questi valori può superare abbondantemente la quantità RAM + swap (si tratta di spazio che il kernel comunica al processo che potrà indicizzare, se vorrà, ipotizzando che non esagererà)VIRT -- Virtual Image (kb)
The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been
swapped out and pages that have been mapped but not used.
RES, memoria residente -> RAM: totale di memoria RAM effettivamente occupata dal processo.RES -- Resident size (kb)
The non-swapped physical memory a task has used.
SHR, memoria condivisa -> RAM: memoria occupata da librerie caricate dinamicamente + dati allocati in modo tale da poter essere condivisi tra più processi.SHR -- Shared Mem size (kb)
The amount of shared memory used by a task. It simply reflects memory that could be potentially shared with other processes.La memoria effettivamente occupata da un processo non swappato (solitamente è sufficiente che stia lavorando o sia utilizzato interattivamente) è quindi pari alla quantità indicata in RES, meno una percentuale di quella indicata in SHR, perché, appunto, viene contata più volte nel bilancio di più processi.
Più si occupa la memoria fisica, più porzioni di memoria di processi poco utilizzati verranno spostati in swap, riducendo i valori riportati; SHR sarà tenuta per ultima e mostrerà valori più costanti.
Non conosco un modo per quantificare la percentuale effettiva di swap che è occupata da ogni processo (c'è una colonna SWAP anche in top, ma è la semplice differenza VIRT - RES e non significa molto).
Per finire ci sono anche buffer e memoria cached: per farla semplice, i buffer sono solitamente zone di memoria allocate per salvare temporaneamente dati scambiati con periferiche, mentre la memoria cached si può definire come memoria già utilizzata e potenzialmente riallocabile, ma mantenuta perché i dati che contiene potrebbero essere richiesti nuovamente.
La cached è estremamente sacrificabile, la percentuale di memoria allocata nei buffer che poi risulta effettivamente utilizzata è molto bassa, quindi nel bilancio totale fornito da free (comando molto sintetico che da solo i totali delle allocazioni) vengono sottratti d'ufficio alla memoria conteggiata come allocata.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.