¿Sueña Tux en código fuente?

29 Mayo 2007

Guía swappiness en kernels 2.6

Archivado en: GNU/Linux — mmejiav @ 4:28 PM

icono de articuloCómo configurar algunos parámetros de la memoria en GNU/Linux con kernel 2.6

1. Introducción

A algunas personas les ha ocurrido que cuando tienen su sistema recién instalado con el kernel 2.6.x después de un tiempo de uso se dan cuenta que el sistema tiene asignado a buffers y caché casi toda la memoria RAM de la que dispone la máquina, y obviamente quieren tener el control de esto y que no lo maneje tan automáticamente el kernel.
Esto se nota principalmente en sistemas con montones de ram y mucha actividad de I/O.
Esto es normal en Linux con el kernel 2.6, y el sistema lo hace así para garantizar un buen desempeño y el kernel dinámicamente reasigna esta memoria a los procesos y programas que la requieran; pero en ocasiones podriamos no querer esta configuración por defecto y garantizar, que el sistema mantenga un buen porcentaje de memoria ram libre o que libere más rápidamente estos buffers y cachés del sistema de la memoria RAM.

2. Aspectos Técnicos

Los 2 parámetros que se necesitan modificar para esto son: swappiness y min_free_kbytes.
- swappiness hace referencia a que tanto tiende el sistema a hacer uso del area de swap o intercambio en el sistema, y su valor por defecto es 60.

- min_free_kbytes controla cuanta ram libre debe dejar el sistema para otras cosas que no son propias de el como caché y buffers., el valor por defecto puede variar de una distro a otra pero por lo general está entre los 4.5 a 6 MB

3. Procedimiento

Bien, ahora lo interesante:
Los archivos que controlan este comportamiento del kernel se encuentran en /proc/sys y como ya hemos dicho se llaman swappiness y min_free_kbytes.

Para modificar en vivo su valor se utiliza sysctl -w vm.min_free_kbytes=xxxx (donde xxxx es la cantidad en kbytes que queremos que el kernel deje libre.) y sysctl -w vm.swappiness=xx (donde xx es un valor númerico entre 0 y 100). nota: un valor = 0 hace que el sistema maneje el swap como lo hacia el kernel 2.4.

Para hacer estos cambios que permanentes sólo hay que editar el archivo /etc/sysctl.conf e introducir las lineas con los valores de nuestra preferencia.
vm.swappiness=xx
vm.min_free_kbytes=xxxx

Advertencia

Estos cambios se deben probar con cuidado y no hacer cambios radicales, ya puede suceder un bloqueo de la máquina.

Este manual fue escrito y probado por Fabian Mejía Lemus

Aún no hay comentarios »

Aún no hay comentarios.

Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Blog de WordPress.com.