¿TRIM está habilitado en mi instalación de Ubuntu 18.04?

38

Sé que el ajuste semanal está habilitado de forma predeterminada desde 14.10 en adelante. Fuente: ¿Cómo habilitar TRIM? Pero la ejecución sudo nano /etc/cron.weekly/fstrimdevuelve un archivo vacío. También tail -n1 /etc/cron.weekly/fstrimdice que este archivo no existe.

La ejecución lsblk -Ddevuelve valores distintos de cero DISC-GRANy, por DISC-MAX lo tanto, TRIM es compatible con mi SSD. ¿Está TRIM semanal realmente habilitado para mi SSD o no?

Estoy usando un SSD de Kingston

m.umar
fuente

Respuestas:

59

Trim (fstrim / descarte) está habilitado para ejecutarse semanalmente de forma predeterminada en 18.04.
Está configurado para ejecutarse para todos los sistemas de archivos montados en dispositivos que admiten la operación de descarte.

Es un systemdservicio gestionado a través de systemctl, no CRON.

Ver el estado de fstrim.timer :

$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
   Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
  Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
     Docs: man:fstrim

Iniciar / detener / reiniciar fstrim.timer :
(no cambia el estado de inicio)

$ sudo systemctl [start/stop/restart] fstrim.timer

Activar / Desactivar fstrim.timer :
(agregar a / eliminar del inicio, no cambia el estado activo actual)

$ sudo systemctl [enable/disable] fstrim.timer

Ver la configuración de fstrim.timer :

$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

Ver la configuración de fstrim.service :

$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av

Nota : ExecStart = / sbin / fstrim -av
Donde:
-a , Recorta todos los sistemas de archivos montados en dispositivos que admiten la operación de descarte.
-v , ejecución detallada. Imprima el número de bytes pasados ​​del sistema de archivos por la pila de bloques al dispositivo para su posible descarte.

Ver entradas de diario relacionadas de systemd :

$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...

$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...
Broadsworde
fuente
2
Como referencia, el cuándo está controlado por /lib/systemd/system/fstrim.timer( OnCalendar=weekly) y el qué por /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av).
Moilleadóir
1
Buena publicación! Le sugiero que cambie los comandos "cat" por los comandos específicos de systemctl: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer. En general, ese comando muestra la versión del servicio vigente. Esa podría ser la que se encuentra en / lib / systemd, pero también podría ser una versión modificada en / etc / systemd.
vanadio
Cuando está activo, ¿lo hace para todos los controladores? Por ejemplo, tengo ubuntu instalado en una SSD pero tengo otra SSD montada como una partición ext4. ¿Recortará ambos automáticamente? (el estado dice que está activo)
Eduardo
¿Cómo activarlo a pedido? (por ejemplo ahora, quiero ir a almorzar)
maquinilla de afeitar
Puede iniciar / detener / reiniciar manualmente cualquier servicio systemd con: $ sudo systemctl [iniciar / detener / reiniciar] [nombre del servicio] .service
Broadsworde
2

Editar: ¡Lee los comentarios, esta respuesta combina dos mecanismos!

Vieja respuesta

Hay un punto importante que debe agregarse a la respuesta de @Broadsworde para completarlo.

Mientras estaba en mi computadora portátil todos los temporizadores y servicios estaban habilitados, faltaba la entrada del registro fstrim (solo: starting… stopping… reboot… starting…etc.).

Paso perdido

Es posible que deba marcar los sistemas de archivos como descartables . Si un sistema de archivos no está marcado como descartable, el recorte lo omitirá [1].

Para marcar un sistema de archivos como descartable, tiene dos opciones:

1. Opción: tune2fs

sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root

Esto configurará la opción de descarte como predeterminada para mi dispositivo ext4. Si no usa cifrado, intente en su /dev/sdalugar.

2. Opción: /etc/fstab

Asegúrese de anteponer o agregar la opción discarda sus opciones de montaje existentes. Por ejemplo así:

/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1

Solo después de esto, el servicio de temporizador realmente hará algo.

Notas al pie

  • [1] en realidad, el dispositivo necesita soportar la TRIMoperación. Pero en Linux, este es un indicador del sistema de archivos. Aún así, el dispositivo en el que se ejecuta el sistema de archivos debe ser compatible con la TRIMoperación. Para ver si su dispositivo es compatible con ella, su uso: sudo hdparm -I /dev/sda | grep -i TRIM.
Ben
fuente
En mi instalación (originalmente 18.10; luego actualizado a 19.04) los sistemas de archivos no tenían la opción de descarte habilitada. Solo uso SSD en mi sistema; y nunca tuvo ningún HD mecánico. Los habilité con tune2fs . ¿Alguna idea o explicación de por qué el sistema no los habilitó por defecto?
FedonKadifeli
1
No creo que esto sea correcto. La opción de descartar recorta bloques cuando los archivos se eliminan del sistema de archivos. El servicio systemd recorta los bloques no utilizados periódicamente en el sistema de archivos. Estas son cosas diferentes. La opción de descarte puede afectar negativamente el rendimiento en algunos sistemas, por lo que el periódico es posiblemente mejor.
xioxox
1
@xioxox tiene razón. Recientes mount's página del manual establece que «Los problemas de la función de descarte frecuentan comandos para dejar el espacio de recogida de dispositivo de bloque liberado por el sistema de archivos. [...] puede tener un impacto significativo en el rendimiento . (El comando fstrim también está disponible para iniciar recortes por lotes desde el espacio de usuario). »
Fabio A.
Gracias, edité la respuesta de forma grabada. Por favor, no continúe rechazando esta respuesta: ¡Quiero conservarla ya que sus comentarios son valiosos!
Ben