Siempre hay formas de mejorar el rendimiento o bien optimizar los recursos de los que disponemos en nuestros ordenadores y aquí os voy a explicar una de ellas, concretamente vamos a ver como configurar el swappiness en Ubuntu. Antes de seguir, debería empezar por explicar un poco que es el swappiness, lo voy a explicar de la mejor manera posible y también os voy a explicar que incidencia tiene en nuestros ordenadores.
Cuando instalamos Linux en un ordenador, sea Ubuntu o cualquier otra distribución Linux, llega el momento de crear las particiones. En ese momento hay que crear las que cada uno crea necesarias, en mi caso yo creo una de Swap de 2GB y otra raiz o «/», solo hago dos particiones para cada distro que instalo en mi ordenador, si instalo Linux a otra persona le creo 3, la de Swap y la «home» y la raíz separadas. Como habréis podido deducir el swappiness hace referencia al Swap, y efectivamente es para optimizar el uso de la Swap y la RAM. La Swap es una «especie» de RAM, por asi decirlo, pero que esta en el disco duro, por lo que tiene ventajas e inconvenientes, la ventaja principal es que podemos crear crear una particion Swap del tamaño que deseemos y asi disponer de mas RAM. El inconveniente principal de la Swap es que es mucho mas lenta que la RAM convencional. Cuando hablo de la RAM de los ordenadores con alguien siempre digo lo mismo, la RAM esta para ser usada y cuanta mas usemos mas rapido ira el ordenador :D.
Hoy en día crear la partición de Swap en la mayoría de los equipos no es realmente necesario, de hecho en mi portátil que tiene 8GB de RAM la Swap carece de sentido pero es una costumbre muy arraigada y me quedo mas a gusto si la tengo, ademas solo son 2GB que apenas tiene incidencia en el disco duro. Si que es muy recomendable crearla en ordenadores que dispongan de menos de 2GB de RAM ya que puede ser necesaria.
Después de toda esta parrafada sobre la RAM y la Swap, vamos a ver que es realmente el swappiness, es una propiedad del Kernel de Linux que permite decidir en que momento nuestra distribución Linux empezara a usar la partición de Swap en detrimento de la RAM. Podemos configurar el swappiness para que solo se use la Swap cuando la RAM esta prácticamente llena o al revés, decidir la prioridad es cuestión de cada ordenador, mas bien de la RAM de la que disponga tu ordenador.
El swappiness puede tener un valor entre 0 y 100, normalmente en todas las distribuciones viene con un valor por defecto de 60. Si quereis comprobar que valor tiene en vuestra distro solo teneis que teclear lo siguiente en la Terminal:
cat /proc/sys/vm/swappiness
Esto os arrojara un valor, como ya he dicho por defecto sera 60, aunque si el valor es diferente no tenéis porque preocuparos. Ese valor quiere decir, explicado muy sencillamente, que vuestro Linux empezara a usar la Swap cuando la RAM este un 40% llena. Si tenéis 2 GB o menos de RAM aconsejo dejarlo en ese valor, aunque también podéis probarlo, no pasaría nada, de hecho veremos como modificarlo de forma temporal para ver como funciona y también veremos como hacer los cambios permanentes. Si vuestro ordenador dispone de mas de 2 GB de RAM mi consejo es cambiar ese valor y ponerlo en 10, yo lo tengo así desde hace unos 3 años. Cuanto mas bajo sea el valor que pongamos al swappiness mas tardara Ubuntu en empezar a usar la Swap y cuanto mas alto sea el valor de swappiness antes empezara a usar la Swap.
Bien, si queremos probar como funcionaria nuestro ordenador con el valor 10 solo tenemos que poner lo siguiente en la Terminal:
sudo sysctl -w vm.swappiness=10
Ahora el swappiness tendrá como valor 10 y Linux solo empezara a usar la Swap cuando la RAM este llena al 90%. Ahora, para ver como va nuestro ordenador con ese nuevo valor, lo usamos normalmente durante un rato probando todas las tareas que solemos hacer habitualmente, abrís varios programas a la vez y le metéis un poco de caña, que el ordenador trabaje un poco 😀
Si tenéis algún problema, no lo creo, solo tenéis que teclear el anterior comando pero con el valor inicial que os salia, es decir, si estaba en 60 seria asi:
sudo sysctl -w vm.swappiness=60
Así todo volvería a estar como al principio, si reinicias el ordenador sin teclear este ultimo comando el swappiness volvería también a su valor por defecto, como os he dicho antes por ahora solo hemos hecho un cambio temporal para ver como va todo.
Si todo va bien entonces podemos cambiar el valor de swappiness de forma definitiva para que siempre tenga el mismo valor. Esto lo haremos de la siguiente forma, tecleáis este comando en la Terminal:
sudo gedit /etc/sysctl.conf
Recordad cambiar «gedit» por vuestro editor de texto si usáis un Linux diferente a Ubuntu. Entonces tecleáis vuestra contraseña y se os abrirá el editor de texto con lo siguiente:
En este archivo de texto tenéis que ir hasta la ultima linea, pulsar la tecla Enter y añadir lo siguiente:
vm.swappiness=10
Os debería quedar como podéis ver en la imagen anterior. Ahora guardáis el archivo y cuando reinicies el ordenador el valor de swappiness sera 10 por defecto. Lo usáis unos días y veis como se comporta vuestro ordenador, si todo va bien lo dejáis así y listo, de esta forma tendremos mas optimizado el uso de la RAM y la Swap. Deberíais notar algo de mejora en el rendimiento de vuestro Ubuntu, pero eso depende de el uso que le deis a vuestro ordenador.
Un saludo.
Gracias por el tip Liher ya había leído sobre ello pero no tan extensamente explicado 🙂
La info la leí aquí por si te interesa echarle un vistazo 😉
http://trastetes.blogspot.com.es/2014/04/tras-instalar-ubuntu-1404-lts.html
saludos
Hola v2x, muchas gracias por el enlace, ya onocia el blog de Trastetes, muy bueno por cierto. Un saludo amigo
Un post muy recomendable. Me lo apunto. Gracias Y saludos.
Hola Victor, yo llevo haciendo esta modificacion desde hace unos 3 años en todas las instalaciones de Linux y va muy bien, muchas gracias por tu visita, un saludo amigo
Gracias Liher !!
Hola Juan Alberto, muchas gracias a ti por leer el articulo, un saludo amigo
Amigo! muchas gracias por ese tip. Estoy decidido usarlo, pero hay algo que me tiene confuso:
Si yo coloco el valor en 10, entonces la Swap se empezará a usar cuando tenga el 90% de RAM usada? Pregunto porque mencionas en el post que el valor por defecto es 60% y dices que se empezará a usar la swap cuando la ram esté usada en 60%, no debería ser 40% en dado caso?
De todos modos, voy hacer la prueba colocándolo en 10 % y te diré qué tal me fue 🙂 Un saludo Amigo
Hola Jeoxs amigo, muchas gracias por el apunte, me equivoque al ponerlo, ya lo corregi, un saludo amigo.
Hola, decirte que el post me ha servido mucho y he estado leyendo muchos de los que están en el blog jaja espero que sigas con el gran trabajo que estás haciendo que nos ayudas a muchos usuarios, saludos y gracias!
Hola Felipe, me alegro de que te sirviese el post, intentare seguir publicando siempre que pueda, para mi es un placer, muchas gracias por tu visita, un saludo amigo
Hola Liher, yop otra vez, buen dia. Creo este articulo responde.a mi problema con Ubuntu 14.04. Recuerdas te comente que el sistema se pone lento al iniciar sesón con contraseña?. Al parecer es en este.momento arranca la.swap y me hace lento el sistema. Seguire tu recomendación aqui y luego te cuento, ademas integrare una memoria.mas de un giga de ram porque el.equipo lo permite. Gracias por tu aporte. By the way. Me gustaria enviarte una capturas de pantalla de como me quedo configurado el sistema pero no recuerdo tu correo. Me lo recuerdas? Gracias y buen dia.
Hola Gustavo, a ver si se soluciona tu problema con esto, espero que si, ademas al ponerle 1GB mas ira mejor. Mi correo es liher@mail.com. Un saludo amigo
Hola Liher, tienes una forma muy sencilla de explicar y entendible eh visto otros blog y son engorrosos, haces que paresca facil te agradesco, me funciono a la primera, te queria comentar , que eh usado ubuntu, lubuntu, fedora,manjaro,(nada tiene que ver con este articulo),me han descepcionado me dicen que muy estables a mi me han dado muchos problemas, el unico con el que no eh tenido problemas es con LINUXMINT, es acaso que el diseñador es el mejor de todos?, eh querido instalar arch linux en mi pc , con un disco duro de 160 gb , 2gb en ram, con una tarjeta madre J1800NH2 con micro dual de 5.1 ghz, y no eh podido es muy engorroso
para particionar, gracias por ayudarnos, un saludo desde mexico.
Hola Eduardo, me alegro de que te guste mi forma de escribir, precisamente lo que pretendo es explicarme de la forma mas clara posile. En cuanto a las distros que mencionas, son buenas, pero cada usuario somos un mundo. Por supuesto que Arch no es para novatos, requiere cierta experiencia. Mint esta muy bien, es muy buena. Todas deberian funcionar. Yo he probado muchas y todas de una u otra forma funcionan, pero algunas son mas indicadas para recien iniciados, como por ejemplo Linux Mint, te lo da casi todo hecho. Muchas gracias por tu visita y por comentar, un saludo amigo.
Hace mucho tiempo habia leido muchos post sobre este tema pero es la primera vez que entendi que si tienes 60 de swappiness ubuntu empezara a usarlo cuando use 40% de la ram real. Gracias!!!
Hola Robin, muchas gracias a ti por tu visita y por comentar, un saludo amigo
estuve leyendo que para computadoras de escritorio es bueno bajarlo de 60 el swap y para lo que es servidores es aumentar el valor mas de 60, a la mia se lo baje a 18 y va muy bien
Hola Eliezer, cada ordenador es un mundo y por lo tanto cada uno debe encontrar el valor adecuado, muchas gracias por tu visita y por comentar, un saludo amigo
Pues… en mi caso el archivo /etc/sysctl.conf ni siquiera tiene la línea vm.swapiness aunque predefinido sí tiene 60
Hola Nestor, al principio no tiene esa linea, hay que añadirla si queremos modificar el valor de la swappiness. Gracias por tu visita y por comentar, un saludo amigo
muy bueno el post, yo hice algo así pero con mi telefono y me anda de lujo, gracias por la información
Hola Kratosivl, me alegro de que te sirviese el post, muchas gracias por tu visita, un saludo amigo
Muchas gracias por el post. Me prestaron un portatil, he instalado ubuntu 14, iba lentisimo, creia que tenia 1 gb de RAM, y al buscar info para optimizarlo, doy con esta pagina…..y sorpresa, descubro que tengo 4 gb, aplico la receta del post….y por poco se sale de la ventana volando de lo rapido que funciona. XD XD XD
A parte he ido eliminando funcionalidades banales de la versión que consumen recursos, y vamos…. ya quisiera que mi Windows10 fuera así (todo hay que decirlo, el Pc es viejillo).
Gracias de nuevo
Hola Naif, me alegro de que te sirviese el post, muchas gracias por tu visita, un saludo amigo
Hola Lither, gusto en saludarte. Conforme a lo que indicas en tu articulo, que me recomendarias? Mi maquina tiene 2GB de RAM. Deberia llevar la swap a 10 o dejarla por defecto? De antemano, gracias!
Hola Alex, eso depende del uso que le des al ordenador. Mi recomiendacion con 2GB de RAM seria cambiar a 10 y probar un par de dias de uso normal a ver como va, si ves que esta bien o mejor entonces dejarlo. Muchas gracias por tu visita, un saludo amigo
Hola de nuevo Liher, como bien sabes en el comentario de LibreOffice 5, soy un novato probando Ubuntu 14.04 LTS (64bits) con LiveUSB y sin disco duro. XD
Dicho esto, crees que sea recomendable usar swappiness para que use solo o casi totalmente mi memoria RAM? me queda menos de 1 GB de almacenamiento en el Casper pero tengo 4 GB de RAM a la cual por mas q mire vídeos con MPV, use Chrome, WPS Office y demás no me pasa de 2 GB de RAM lo cual me deja boca abierto (vengo de Windows, por eso me sorprende el rendimiento) aunque unas pocas veces se traba un poco.
Por esto ultimo pregunto de nuevo: crees que sea recomendable usar swappiness para dar mayor uso a mi memoria RAM y dar de baja el swap para aumentar el rendimiento?.
PD: El SO solo me registra 3.5GB de RAM, hay alguna forma para q me registre los 4 GB?
Hola Perver, yo siempre recomiendo poner asi el swappines, salvo que el pc tenga menos de 1 GB de RAM. En cuanto a la RAM esta bien registrada, yo tengo 8Gb de RAm y el sistema me marca 7,6, es una cuestion matematica, nada mas, tu tienes y estas usando las 4GB. Muchas gracias por tu visita, un saludo amigo
Yo no he notado mucho cambio con ajustar el swappines y editando el sysctl.conf. Lo único que he notado es que en ves de utilizar el swap aproximadamente el 50% de la RAM con el swappines a 60, con el swappines a 10 lo hace al 60%., a partir de ahí comienza a uszar la swap. Tengo 8 Gb de RAM y swap de 2Gb con Ubuntu 15.10.
¿ Alguna idea ?
Hola Irving, donde miras el uso de la RAM?
Amigo muy excelente post, andaba buscando algo que me sacara de la duda de cuánto debemos usar de swap si el ordenador es de 4GB y del por qué había que ponerle el doble o menos si se tiene esta capacidad, yo le puse la capacidad tal cual del ordenador, antes le había puesto 3072 (Porque suponía que ese otro espacio era para cuando la ram lo usara cuando llegara al limite.) luego mejor le puse 4092 porque quería que manejara todo porque es muy buena capacidad, así que me di cuenta que no andaba del todo bien…
Leyendo esto, salvaste mi ordenador y quedé perdidamente más enamorado de ubuntu…
Igual pregunto, tenes alguna sugerencia de lo dicho?
De si la capacidad de swap se le da el doble de la capacidad que tiene aún si es de 4GB?
O si es al revés , si se le da 2 o 3 gb’s de ram para que el resto sea usado cuando se llegue a esa capacidad.
Porque también entiendo según este post, que así le des lo que le des al swap, por defecto comienza a funcionar desde el 60% de la ram puesta…
Muchas gracias espero pronta respuesta y disculpa el alargue de la pregunta…
Jeje! saludos desde colombia… 😉
Hola Juan, hoy en dia con 2GB de swap es suficiente, incluso ya no es necesario crear esa particion, yo la tengo por costumbre. Muchas gracias por tu visita, un saludo amigo
Estimado. Me parece que no es tan así (prescindir de la swap). Prueba renderizar imágenes grandes o vídeos voluminosos y veras a lo que me refiero, solo por citar un par de ejemplos. Por otra parte, felicito tu publicación, aunque no comparto la idea de prescindir de la swap, insisto. Un cordial saludo.
Hola Roberto, para segun que cosas el swap viene bien, como tu dices. Yo siempre tengo una particion swap de dos o cuatro GB por si acaso. Muchas gracias por tu visita, un saludo amigo
Hola tengo una toshiba satellite con 2 gb ram. estuve probando varios linux, xubuntu, lubuntu pero no funcionaron, probé sparky pero funcionaba lenta mi laptop, probé también linux mint y al principio bien pero después se alentó mi laptop, ya decepcionado porque no veía la rapidez que todos comentan de linux, estaba a punto de instalar pupy y encontré tu pagina, hice los cambios tal cual lo sugieres y…magia, el linux mint rápido que esperaba.
Gracias.
Hola Clis, me alegro mucho de que te sirviese, muchas gracias por tu visita, un saludo amigo
Hola Liher, muy bien por tu aporte, te agradezco, estoy estrenandome en linux y aportes como el tuyo me han ayudado mucho , va muy bien la linux con 10
gracias tigre
Hola Lucho, me alegro de que te vaya bien con este ajuste, muchas gracias por tu visita, un saludo amigo
Una duda, ¿porqué 10 y no 5, o 25, por decir otros valores? ¿qué pasa con ese 10% no usado?
Tengo una PC con Intel Atom CPU D2500 a 1.86GHz con 4 gb de RAM y Lubuntu 14.04.5 LTS
Hola Jose, ese numero no quiere decir que no se use, es como un indicador de cuando hay que empezar a usar la Swap, puedes poner el valor que estimes oportuno aunque con 10 va bastante bien. Muchas gracias por tu visita, un saludo amigo
hola liher, muchas gracias por este valiosisimo aporte y tu excelente manera de explicarlo, solo me queda una duda como volver al valor inicial si surge algun imprevisto? se utilizan los mismos pasos pero se lleva el valor a 60 o solo con borrar la linea añadida surte efecto el cambio?te agradeceria mucho la respuesta a mi duda, sin mas; atte: jonathan
Hola Jonathan, puedes restablecer el valor iniciar de las dos formas que dices, aunque mi recomendacion seria que borrases las linea introducida para que todo quedase como al principio. Muchas gracias por tu visita, un saludo amigo
Hola Liher, para complementar este post de swap y swappiness, lectura recomendada en castellano: http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
¡Un saludo y felicidades por el blog!
Román.M.
Hola Roman, en cuanto tenga un rato lo leo, muchas gracias por tu enlace y la visita, un saludo amigo
Es el mejor post que he encontrado que explica el swappines en forma muy clara. Felicitaciones desde Venezuela y gracias
Hola Abelardo, muchas gracias por tu visita y tu comentario, un saludo amigo
Perfectamente explicado.
Tambien se puede realizar el cambio en el sysctl.conf para hacerlo permanente y sin reinciar aplicarlo con un sysctl -p
Un saludo y excelente explicacion
Hola Javi, muchas gracias por tu aporte y la visita, un saludo amigo