Optimizar SSD en GNU/Linux

2020-01-06

Índice

  1. Antes de empezar
  2. Mover los archivos temporales a la RAM
  3. No usar Partición SWAP
  4. TRIM
    1. Via fstab
    2. fstrim
      1. Configuración
  5. Firefox
  6. Referencias:

Se que hay muchos tutoriales en Internet de como optimizar y configurar un disco SSD en GNU/Linux, a los que suelo recurrir cuando cambio de distribución, aunque no soy muy dado a ello, pero es que en cosa de pocos meses ya he pasado por Antergos, Arch, OpenSuse Tumbleweed y ahora parece que he encontrado mi sitio en Fedora

Así, para evitar esas búsquedas, dejo estos apuntes por aquí para mi yo del futuro

Antes de empezar

Si además del disco SSD, dispones de otro disco mecánico, instala /home en ól.

Procura no realizar muchas particiones en el disco SSD, a menor espacio mas reescrituras.

Mover los archivos temporales a la RAM

Para ello editamos el fichero fstab

sudo nano /etc/fstab

Y peganos al final estas líneas:

#Temporales
tmpfs   /tmp       tmpfs   defaults,noatime,mode=1777   0 0
tmpfs   /var/tmp   tmpfs   defaults,noatime,mode=1777   0 0
tmpfs   /var/log   tmpfs  defaults,noatime,mode=0755    0 0

No usar Partición SWAP

Esto es fácil, si tienes suficiente memoria RAM (>8GG) no la crees :-)

Si la necesitas, procura usarla lo menos posible, edita el fichero:

sudo nano /etc/sysctl.con

Y añade al final del fichero:

vm.swappiness=1
vm.vfs_cache_pressure=50
vm.dirty_writeback_centisecs=1500

TRIM

Via fstab

Con la opción discard se habilita el uso de TRIM y con noatime desactivamos que se escriba en cada fichero la fecha de acceso (se seguirá escribiendo la de modificación, creación, etc):

UUID=f68f9bb6-67c9-4605-a40f-2933c097e25e  /                       ext4    noatime,errors=remount-ro        0 1
UUID=3fe674fa-a311-4ead-8af3-090f679b390b  /boot                   ext4    noatime,errors=remount-ro        0 2
UUID=9B75-8820                             /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=02ee7f01-6db0-43a2-b252-039411421e7f  /home                   ext4    noatime,errors=remount-ro        0 2

#Temporales
tmpfs   /tmp       tmpfs   defaults,noatime,mode=1777   0 0
tmpfs   /var/tmp   tmpfs   defaults,noatime,mode=1777   0 0
tmpfs   /var/log   tmpfs   defaults,noatime,mode=0755    0 0

Con discard cuando se borre un archivo en el disco SSD se ejecuta TRIM, es decir, vuelve a ubicar las celdas del disco, además, si borramos un archivo por error no podremos volver a recuperarlo.

Por estas razones, yo prefiero utilizar fstrim.

fstrim

Antes de comenzar asegúrate que tienes instalado el paquete util-linux que es el nos va a proporcionar fstrim

Configuración

  1. Arch

    Activamos fstrim.timer que activa y programa la frecuencia de uso de fstrim.service

    sudo systemctl enable fstrim.timer
    

    Podemos ver su estado

    sudo systemctl status fstrim.timer
    [sudo] password for carlos:
    ● fstrim.timer - Discard unused blocks once a week
       Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
       Active: active (waiting) since Sat 2019-10-19 14:05:37 CEST; 8h ago
      Trigger: Mon 2019-10-21 00:00:00 CEST; 1 day 1h left
         Docs: man:fstrim
    

    Podemos ver que TRIM se ejecutará una vez a la semana y que aun queda un dia y una hora para ello.

  2. Fedora

    En Fedora fstrim viene instalado, aunque por defecto está desactivado, al igual que en Arch, para avtivarlo

    sudo systemctl enable fstrim.timer
    
  3. Ubuntu

    Edita el fichero

    sudo nano /etc/cron.weekly/fstrim
    

    Y añade

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

    Asegúrate de que tenga permisos de ejecución:

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

Firefox

Si usas el navegador web Firefox podemos hacer que la cache se guarde en memoria en vez del disco, para ello en la barra de direcciones escribe about:config y pon los siguientes valores

browser.cache.disk.parent_directory	/dev/shm/firefox-cache
browser.cache.disk.smart_size.first_run	false
browser.cache.disk.smart_size.use_old_max	false

Referencias:

Espero que te haya gustado, pasa un buen día. 🐧

Ingrese la dirección de su instancia