Ubuntu 14.10 en adelante
En Ubuntu 14.10 y 15.04, TRIMming ocurre automáticamente cada semana en todos los SSD compatibles con fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Desde 15.04 Ubuntu usa systemd y su temporizador ( man systemd.timer
, Arch wiki )
systemctl list-timers
systemctl status fstrim.timer
Ubuntu 14.04
A partir de Ubuntu 14.04, el ajuste TRIM programado está habilitado de forma predeterminada para los SSD Intel, SAMSUNG, OCZ, Patriot y Sandisk. Si tiene otra marca, puede deshabilitar la verificación del proveedor ejecutando el siguiente comando:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(o simplemente edite el archivo /etc/cron.weekly/fstrim
y agregue --no-model-check
)
Ubuntu 13.10 y versiones anteriores
Hay tres formas de realizar TRIM, manual, programada y automática:
Recorte manual
En Ubuntu esto se puede realizar con fstrim
:
sudo fstrim /
sin embargo, no es necesario cuando TRIM automático o programado están habilitados, como se detalla en las secciones a continuación.
Nota: Para Ubuntu 11.04 y sistemas anteriores, fstrim no está disponible por lo que tiene que utilizar wiper.sh
suministrado con hdparm
en/usr/share/doc/hdparm/contrib/wiper.sh.gz
Recorte programado (recomendado)
Este es el método recomendado actualmente y está planificado para activarse por defecto para Ubuntu 14.04 . Aquí se explica cómo activarlo manualmente en versiones anteriores de ubuntu (11.10 a 13.10):
Cree un archivo de script de trabajo CRON semanal:
gksudo gedit /etc/cron.weekly/fstrim
Pegue el siguiente código en el archivo, luego guarde y cierre el archivo:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Tenga en cuenta que lo anterior supone que solo su sistema de archivos raíz /
está ubicado en un SSD. Si tiene más puntos de montaje que residen en uno o más SSD, agréguelos SSD_MOUNT_POINTS
como se explica en el código.
Haga que el script sea ejecutable:
sudo chmod +x /etc/cron.weekly/fstrim
Y finalmente pruébalo:
sudo /etc/cron.weekly/fstrim
Si no ve errores, su trabajo cron debería estar funcionando bien.
Recorte automático (obsoleto, lento)
El ajuste automático se admite desde Ubuntu 10.10 (kernel 2.6.33) con el sistema de archivos EXT4. Sin embargo, el envío de comandos TRIM al SSD en tiempo real, después de cada eliminación, se ha reconocido que hace que la eliminación sea mucho más lenta de lo habitual en algunas unidades. Por lo tanto, se recomienda un TRIM programado semanalmente a través de un trabajo cron (descrito anteriormente).
Para habilitar TRIM automático en una unidad o partición, deben montarse con la discard
opción en fstab
. Primero haga una copia de seguridad de su fstab y luego ábralo para editarlo:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Agregue discard
a la entrada de opciones fstab (separadas por comas) para la unidad SSD o cada partición.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Cierre y guarde fstab, luego reinicie y TRIM automático ahora debería estar funcionando.
Prueba de ajuste automático
Para probar si TRIM está funcionando, emita los siguientes comandos ( fuente ):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Desde la salida, copie el número debajo begin_LBA
y verifique el nombre del dispositivo de su SSD: System->Administration->Disk Utility
por ejemplo , sda, sdb, sdc ...
Ejecute lo siguiente pero reemplace [ADDRESS]
(begin_LBA) y sdX
(nombre del dispositivo SSD) con los detalles obtenidos anteriormente.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
la salida debe ser una larga cadena de caracteres para esos sectores
sudo rm tempfile
sync
Repita el hdparm
comando desde arriba:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Si solo obtiene ceros, la función TRIM automática está funcionando. Sin embargo, si después de eliminar el archivo los sectores aún no están vacíos, espere un momento y vuelva a ejecutar el comando.