Optimización Ubuntu con disco solido
Estado inicial: Sistema operativo Ubuntu 12.04 en dos particiones:
/ en disco sólido /home en disco tradicional Sin partición de swap ya que hay suficiente RAM (8Gbytes)
Fichero fstab Añado opción noatime del sistema de ficheros, para eliminar escrituras no necesarias por parte del sistema operativo
- / was on /dev/sdb2 during installation
UUID=b56662de-cefc-4d69-af5c-b893b429995f / ext4 noatime,errors=remount-ro 0 1
- /home was on /dev/sda5 during installation
UUID=41f0b55f-06ba-466a-a281-b7163f2c20a8 /home ext4 noatime,defaults 0 2
Elimino también escrituras no deseadas por parte de las aplicaciones: tmpfs /tmp tmpfs defaults 0 0 tmpfs /var/tmp tmpfs defaults 0 0 tmpfs /var/log tmpfs defaults 0 0 #esta opción yo la tengo comentada porque no me arranca Apache!!!
Para que las aplicaciones "no sientan" que los directorios que esperan no están, añadimos las siguientes líneas en el /etc/rc.local: for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba unattended-upgrades ; do if [ ! -e /var/log/$dir ] ; then mkdir /var/log/$dir fi done
Observaciones: Donde dice gdm podría decir kde. Añado también apache, pero no funciona????
Caché del navegador El navegador hace mucho uso de disco a modo de caché. Podemos considerar usar solamente internet si la conexión es buena. No lo tengo claro
Parámetros del kernel El kernel está por defecto optimizado para discos mecánicos. Una de las optimizaciones es el disk write scheduler o elevator. Por defecto usa deadline, pero si cambiamos a noop obtendremos mejor throughput del disco. Modificamos /etc/default/grub añadiendo nuestro elevator: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop" Actualizamos grub2: root@juanda-PC:/etc/default# update-grub2
Cambiamos la caché del disco duro (de write-through a write-back), mediante el siguiente comando: root@juanda-PC:/etc/default# hdparm -W1 /dev/sdb /dev/sdb:
setting drive write-caching to 1 (on) write-caching = 1 (on)
Si el comando funciona bien, como en las trazas anteriores, lo ponemos en /etc/rc.local