Duda sobre el uso de swap

Buenos días

Resulta que tengo un Debian Testing "Wheezy" amd64 con 4 GB de RAM. Hasta ahí todo OK.
El tema es que nunca debería usar swap, ya que la RAM nunca la uso entera.
He probado a eliminar el uso de swap (vm.swappiness = 0 en el sysctl.conf), ya que por defecto está a 60.
Pero aún así, sigue usando swap, cuando no debería, tal y como podeis ver en la imagen

No se si es el comportamiento normal, o hay algo que no está funcionando bien

Adjuntos

Yo con arch me usa unos 56K de swap. PEro no tengo ni idea de como funciona. A ver si alguien se pasa con más idea.
Asegúrate de que no hay un proceso con ansia de memoria ya que es muy extraño. Tengo en el eeepc arch+kde y con un solo Gb de ram lo máximo de swap que le he visto usar ha sido unos pocos megas.
mmm.. el monitor del sistema no te muestra la ram que tienes ocupada en buffers/cache.

Con una terminal haz un free -h y verás el uso de tu ram.

La ram usada por buffers/cache se usa para agilizar los accesos, así que no te asustes, que la ram está para ser usada.
nu_kru escribió:mmm.. el monitor del sistema no te muestra la ram que tienes ocupada en buffers/cache.

+1, Puedes tener el resto de tu ram ocupada por la cache y por ello manda algo al swap. Por cierto, tener la vm.swappiness a 0 no previene el uso de swap, simplemente la usa cuando es absolutamente necesario. Si no quieres usar la swap pues simplemente la desmontas con swapoff /dev/sdaX y luego quitas la entrada del /etc/fstab para que no vuelva a cargarse en el próximo inicio.
Hace mucho probe eso de quitar la swap al kernel o ponerlo que iniciara a un 3% del restante de toda la ram, pero me di cuenta que ni asi, comenzaba a usar la swap sin haber razon de ser.

Investigue y vi que hay mas parametros que setear para una mejor optimizacion, pero no segui porque el tema era muy largo y no tengo mucho tiempo para trastear mas. Asi que lo que hago ahora, es apagar la swap y dejar al kernel tranquilo [carcajad]

Asi el sistema usa toda la ram y nada de lentitud para el disco.

pd: tambien uso este pequeño script para cuando quiero liberar la memoria fisica.
#!/bin/bash
sync; echo 3 > /proc/sys/vm/drop_caches; echo "RAM liberada"
exit 0

5 respuestas