28 de maig de 2011

Reduint l'ús del swap a Ubuntu: controlant vm.swappiness

Si teniu un ordinador amb prou memòria, posem més de 2GB, potser us haureu adonat que malgrat que hi hagi encara força memòria disponible l'Ubuntu comença a utilitzar la memòria secundària (swap), movent dades cap al disc. Això es deu a que està configurat com a servidor i, per tant, desplaça les dades que no necessita de moment per poder acceptar càrregues de treball que puguin arribar més endavant. Però en un sobretaula personal, el que notem és que va més lent, i aquestes càrregues normalment no arribaran mai.

Per sort, podem configurar-ho de manera diferent, controlant la variable 'vm.swappiness', posant-hi valors entre 0 i 100. Valors propers a 100 tendeixen a moure a disc tot el que es pugui, mentre que valors propers a 0 fan que no es mogui res a disc fins que no quedi més remei.

Per mirar el valor actual podem utilitzar:
$ sysctl vm.swappiness 
Si no l'hem tocat abans, ens retornarà un 60. Per canviar-ho a un nou valor que aprofiti millor la memòria disponible, ho podem fer amb:
$ sudo sysctl -w vm.swappiness=10
Un cop comprovat que el valor assignat ens funciona bé amb la memòria que tenim, podem fer el canvi definitiu editant el fitxer de control:
$ gksudo gedit /etc/sysctl.conf
Anem al final del fitxer i afegim la línia:
vm.swappiness=10
Evidentment, podem canviar el 10 pel valor que més ens convingui. En concret, jo el poso directament a 0. I en un sistema amb 2GB de memòria principal, va prou bé. Us ho asseguro.

Cap comentari:

Publica un comentari a l'entrada