Liberare RAM su Linux

Mattepuffo's logo
Liberare RAM su Linux

Liberare RAM su Linux

Ho scoperto che dal kernel 2.6.16 è possibile liberare un pò di ram con trucco poco invasivo e sicuro.

In pratica a nostra scelta possiamo ripulire:

  1. la page cache
  2. la page cache + gli inode
  3. la page cache + gli inode + la dentry cache

Per vedere i risultati lanciamo prima questo comando:

# free -m
total       used       free     shared    buffers     cached
Mem:           995        418        576          0         34        215
-/+ buffers/cache:        168        827
Swap:         1027         32        994

In pratica vediamo la memoria occupata e libera.

Se vogliamo ripulire prima digitiamo il comando:

# sync

che cerca di rendere liberabile più cache possibile.

Poi abbiamo le tre scelte:

# echo 1 > /proc/sys/vm/drop_caches

# echo 2 > /proc/sys/vm/drop_caches

# echo 3 > /proc/sys/vm/drop_caches

Diamo uno di questi comandi; i numeri corrispondono alle opzioni elencate sopra.

Io ho dato il terzo:

# free -m
total       used       free     shared    buffers     cached
Mem:           995        271        723          0          0        112
-/+ buffers/cache:        158        836
Swap:         1027         32        994

Guardate la differenza.

Considerate che il comando agisce su /proc che un filesystem virtuale e quindi creato on the fly in avvio; tutte le modifiche andranno perse al riavvio.

Inoltre l'uso di questo comando ha pareri discordanti: c'è chi dice che è inutile perchè elimini la cache che è usata da Linux per rendere più veloce le operazioni ripetute.

In effetti può essere vero.

Io consiglio di usarlo solo con pc poco potenti con poca RAM; se si hanno 8 GB di RAM e un quad-core forse non ha molto senso......


Condividi

Commentami!