Il sistema di memoria virtuale di Linux non è così semplice. Non puoi semplicemente sommare tutti i campi RSS e ottenere il valore riportato used
da free
. Ci sono molte ragioni per questo, ma ne tratterò un paio delle più importanti.
-
Quando un processo esegue il fork, sia il genitore che il figlio verranno visualizzati con lo stesso RSS. Tuttavia Linux utilizza la copia su scrittura in modo che entrambi i processi utilizzino realmente la stessa memoria. Solo quando uno dei processi modifica la memoria verrà effettivamente duplicato.
Ciò causerà ilfree
numero inferiore atop
Somma RSS. -
Il valore RSS non include la memoria condivisa. Poiché la memoria condivisa non è di proprietà di nessun processo,
top
non lo include in RSS.
Questo causerà ilfree
numero maggiore ditop
Somma RSS.