Je sais que TRIM hebdomadaire est activé par défaut à partir de 14h10. Source: Comment activer TRIM? Mais exécuter Sudo nano /etc/cron.weekly/fstrim
renvoie un fichier vide. De plus, tail -n1 /etc/cron.weekly/fstrim
indique que ce fichier n'existe pas.
L'exécution de lsblk -D
renvoie des valeurs non nulles pour DISC-GRAN
et DISC-MAX
, de sorte que TRIM est pris en charge sur mon SSD. Le TRIM hebdomadaire est-il réellement activé pour mon SSD ou non?
J'utilise un disque SSD Kingston
Trim (ignorer) est activé pour s'exécuter chaque semaine par défaut dans 18.04.
C'est un service systemd
géré par systemctl
, pas CRON.
fstrim est configuré pour s'exécuter pour tous les systèmes de fichiers montés sur des périphériques prenant en charge l'opération d'annulation.
Voir statut 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
Démarrer/Arrêter/Redémarrer fstrim.timer:
(ne change pas le statut de démarrage)
$ Sudo systemctl [start/stop/restart] fstrim.timer
Activer/Désactiver fstrim.timer:
(ajouter/supprimer du démarrage, ne change pas le statut actif actuel)
$ Sudo systemctl [enable/disable] fstrim.timer
Voir configuration 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
Vue configuration de fstrim.service:
$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks
[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av
Note: ExecStart =/sbin/fstrim - av
Où:
- a, Coupez tous les systèmes de fichiers montés sur les périphériques prenant en charge l'opération d'annulation.
- v, exécution verbeuse. Indiquez le nombre d'octets passés du système de fichiers par le biais de la pile de blocs au périphérique en vue d'une suppression éventuelle.
Voir associé entrées de journal 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...
il faut ajouter un point important à la réponse de @Broadsworde pour le rendre complet.
Alors que sur mon ordinateur portable, tous les minuteurs et services étaient activés, l’entrée de journal fstrim était manquante (uniquement: starting… stopping… reboot… starting…
etc.).
Vous devrez peut-être marquer les systèmes de fichiers comme éliminables . Si un système de fichiers n'est pas marqué comme pouvant être éliminé, le rognage l'ignorera [1].
Pour marquer un système de fichiers comme pouvant être éliminé, vous avez deux options:
tune2fs
Sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root
Cela définira l'option de suppression comme valeur par défaut pour mon périphérique ext4. Si vous n'utilisez pas le cryptage, essayez plutôt /dev/sda
.
/etc/fstab
Veillez à ajouter ou ajouter l’option discard
à vos options de montage existantes. Par exemple comme ceci:
/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1
Ce n’est qu’après cela que le service de minuterie fera vraiment quelque chose.
TRIM
name__. Mais sur Linux, il s'agit d'un indicateur de système de fichiers. Néanmoins, le périphérique sur lequel le système de fichiers est en cours d'exécution doit prendre en charge l'opération TRIM
name__. Pour voir si votre appareil le prend en charge, utilisez: Sudo hdparm -I /dev/sda | grep -i TRIM
.