5 trucos para optimizar nuestro SSD en Ubuntu Linux

Como ya sabéis, nuestros portátiles ultrabooks, montan una unidad SSD como disco principal del sistema operativo. Mucho se puede leer sobre la optimización de los SSD en Linux, pero en realidad lo que se optimiza es el sistema de ficheros y la gestión de los mismos. A continuación os vamos a decir unos trucos y mejoras muy prácticas.

1 - Montar las carpetas temporales en RAM

Si contamos con 8GB o 16GB de RAM, podemos hacer que la carpeta temporal del sistema no use el disco duro. Es la carpeta donde escriben muchas aplicaciones que estamos usando, como por ejemplo Firefox. Son datos que se borran al apagar el ordenador, con lo que no nos importa que se escriban en RAM.

Lo haremos desde terminal, con sudo, lanzando la edición de fstab:

sudo gedit /etc/fstab

Y pegando al final estas 2 líneas:

tmpfs    /tmp    tmpfs    noatime,nodiratime,nodev,nosuid,mode=1777,defaults    0    0
tmpfs    /var/tmp    tmpfs    noatime,nodiratime,nodev,nosuid,mode=1777,defaults    0    0

Si sueles ocupar casi toda la RAM, por ejemplo porque tienes varias máquinas virtuales, podrías añadir el parámetro delimitador size antes de "defaults": size=2G por ejemplo.

2 - Reducir el uso de la partición SWAP

La partición swap, como ya sabéis es una partición cuyo fin principal es su uso cuando la RAM está llena, pero la cual no está vacía aunque tengas la RAM a la mitad. Por ello es recomendable decirle al sistema que la use lo menos posible, sólo si es estrictamente necesario, editando:

sudo gedit /etc/sysctl.conf

y añadiendo al final del fichero:

#SLIMBOOK TEAM
vm.swappiness=1
vm.vfs_cache_pressure=50
vm.dirty_writeback_centisecs=1500

3- TRIM: control y orden del espacio vacío por parte del SSD

Cuando borramos un fichero, el sistema operativo lo marca como espacio utilizable. Y desde el año 2010, los discos SSD pueden encargarse de controlar dichos bloques de espacio y reagruparlos, con lo que a través de la controladora del disco, la gestión del espacio será más rápida. Para que la controladora se encargue, le solicitamos que analice el disco desde el sistema operativo con el comando fstrim.
Vamos a programar esta tarea, para que la realice cada semana (podrías, si quieres, programarla como diaria si cambias "weekly" por "daily")

sudo gedit /etc/cron.weekly/fstrim

Si el fichero está vacío, pon esto que comprueba los discos soportados y lo lanza en todas las particiones. Si no estaba vacío, déjalo como estaba.

#!/bin/sh
#SLIMBOOK TEAM 
/sbin/fstrim --all || true

 Si el fichero estaba vacío, debes darle permisos de ejecución con:

sudo chmod +x /etc/cron.weekly/fstrim

 Hay quien te dirá de montar el disco con el parámetro "discard" en el fstab, pero de verdad queremos que cada vez que tu o el sistema borréis un archivo, el ssd re-ubique? Afectaría al rendimiento de trabajo habitual.

4 - Desactivar la gestión del algoritmo de I/O de disco:

Al no tratarse de discos rotativos, no es necesario que el cálculo de algoritmos de optimización de acceso por planificaciones de Entrada y Salida de datos. [Vease la Wikipedia] Con lo que montamos la unidad sin que se hagan estos cálculos, editando:

sudo gedit /etc/default/grub

y buscando el parámetro GRUB_CMDLINE_LINUX para añadirle "elevator=noop", de manera que si no tenemos más parámetros, nos quedaría:

GRUB_CMDLINE_LINUX="elevator=noop"

Para que estos cambios se guarden, es muy importante hacer un:

sudo update-grub

 

5 - Montar el disco optimizando la lectura y escritura de datos

En este paso, volvemos a editar el fstab, como al principio. Lo he dejado para el final, porque si nuestro SO no admite algún parámetro, podemos impedir que arranque nuestro ordenador, con lo que haz esto sólo si sabes recuperar una partición desde un Live USB.
Editamos fstab:

sudo gedit /etc/fstab

Y buscamos la línea que monta nuestra partición raíz, el formato será este, pero las X serán en realidad una cadena alfanumérica bastante larga:

UUID=XXXXXXXXXXX   /  ext4    errors=remount-ro  0  1

y añadiremos varios parámetros, de manera que quedará algo como esto:

UUID=XXXXXXXXXXX  /  ext4    noatime,discard,nodelalloc,barrier=0,i_version,commit=30,inode_readahead_blks=64,errors=remount-ro    0    1

Cómo comentaba antes, en el paso 3, no indicamos discard; y tampoco indicaremos data=writeback, ya que no funciona en varios sistemas. Si queréis entender que habéis hecho, os pongo los detalles. Y no olvidéis reiniciar para que los cambios tengan efecto.

noatime: Con esto desactivamos que se escriba en cada fichero la fecha de acceso (se seguirá escribiendo la de modificación, creación, etc). Si tenemos en cuenta que también se anota el acceso a los ficheros cacheados y el acceso constante a todos los ficheros de procesos del sistema, son un número importante de escritura de fechas de acceso. Si ponemos esto, no es necesario poner nodiratime, ya que está implícito.
discard: Recomendado para Sistemas de ficheros ubicados en SSDs.
nodelalloc: Desactiva la función de exta 4 de delalled allocation, que reserva el espacio pero no lo escribe. Es más que nada por seguridad.
barriend=0: Reducción del numero de barridos de escritura. Si estuviésemos en un ordenador sin batería, no sería recomendable, pero no es el caso.
i_version: Habilita el uso del a versión extendida de 64 bits en sistemas de ficheros ext4
commit=30: Retrasa la escritura de los metadatos de ficheros, con lo que se reduce mucho el uso de disco. No recomendable si estuviésemos en un ordenador con batería.
inide_readhead_blks=64: Aumenta de 32 a 64 el tamaño de los bloques de lectura.

Restaurar backups desde la aplicación Slimbook Essentials

Si se ha usado nuestra aplicación para optimizar el SSD, te explicamos cómo puedes restaurar tu sistema en caso de fallo.

Una vez se ha ejecutado el botón "Optimizar SSD" y se ha decidido continuar con el proceso, éste creará automáticamente una copia de seguridad (o backups) de los ficheros que está modificando con el fin de conservarlos. Dichos ficheros se guardarán en la siguiente ruta:

/usr/share/slimbookessentials/backups

Si todo ha ido correctamente, deberían verse cuatro ficheros con una estructura similar a «[nombrefichero]_slimbookbackup_[fecha]».

Si asumimos un error con el proceso por el cual el equipo no consigue arrancar correctamente, arrancaremos el equipo desde un Live CD para poder seguir operando con él. Lo importante ahora es re-ubicar correctamente los archivos que obtuvimos remplazando los que han resultado dañados por el proceso:

  1. El archivo fstab será devuelto a "/etc/".
  2. El archivo sysctl.conf será devuelto a "/etc/".
  3. El archivo fstrim será devuelto a "/etc/cron.weekly/".
  4. El archivo grub será devuelto a "/etc/default/".

¡Ojo! Recuerda renombrar los backups de forma que queden como los citados nombres. Si no, no servirá de nada que los re-ubiques.

Y por ahora ya tenemos suficiente optimización. No dejéis de compartirnos en las redes sociales ;)

 

5 trucos para optimizar nuestro SSD en Ubuntu Linux
Eusebio Giner Slimbook
8 mayo, 2016
Compartir
ArchivO