Blog personal donde guardo mis notas sobre tecnología

Optimizar SSD en GNU/Linux

Carlos M.

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 #

  • 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.

  • Fedora

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

    sudo systemctl enable fstrim.timer
    
  • 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: #