lunes, 5 de agosto de 2013

Optimizar un disco SSD en Linux y memoria


Lo primero que deberíamos hacer una vez instalado el SSD es activar el modo AHCI si queremos sacar el máximo rendimiento del mismo, y mas si es un disco nuevo.

Ahora, vamos a activar TRIM para que el OS sepa que bloques están borrados y cuales no añadiendo en el archivo /etc/fstab la opción discard. Ejemplo:
/dev/sda1     /     ext4     discard,errors=remount-ro     0     1
Ahora vamos a evitar demasiadas lecturas/escrituras en el SSD para alargar su vida y optimizarlo, para ello en primer lugar vamos a evitar que se actualicen los tiempos de acceso de los inodos (nodos índice) cada vez que accedemos a un archivo/carpeta en el sistema de ficheros reduciendo la cantidad de procesos de E/S o Entrada y Salida (I/O o Input/Output) del disco duro añadiendo en el archivo /etc/fstab las opciones noatime y nodiratime en las opciones de montaje. Ejemplo:
/dev/sda1    /    ext4    noatime,nodiratime,discard,errors=remount-ro    0    1
Remontamos el sistema de ficheros para actualizar los nuevos valores:
mount -o remount /
Lo siguiente que vamos a considerar será desactivar el planificador de entrada y salida para ello añadiremos la opción elevator=noop en el archivo /etc/default/grub dentro de GRUB_CMDLINE_LINUX:
GRUB_CMDLINE_LINUX="elevator=noop"
Actualizamos los cambios en el gestor de arranque:
update-grub
Para finalizar, he creado varios sistemas de almacenamiento en memoria para aumentar la performance y evitar demasiadas lecturas/escrituras en el disco obteniendo un rendimiento increíble, para ello usaremos el sistema de ficheros especial llamado tmpfs, yo lo he montado en /tmp, /var/run, /var/lock, /var/log y ~/.cache que es donde se suele leer/escribir constantemente, para ello añadí lo siguiente en el archivo/etc/fstab:
tmpfs  /home/c/.cache  tmpfs size=1024M,nr_inodes=10k,mode=777  0  0
tmpfs  /tmp            tmpfs size=1024M,nr_inodes=10k,mode=777  0  0
tmpfs  /var/run        tmpfs size=1024M,nr_inodes=10k,mode=777  0  0
tmpfs  /var/lock       tmpfs size=1024M,nr_inodes=10k,mode=777  0  0
tmpfs  /var/log        tmpfs size=1024M,nr_inodes=10k,mode=777  0  0
Montamos todos los sistemas de ficheros:
mount -a
Bueno, esto es todo. Un saludo.