web-dev-qa-db-fra.com

Pourquoi Fstrim ne semble-t-il pas être complet?

J’ai essayé la commande fstrim pour TRIMER manuellement mon lecteur SSD, c’est-à-dire pour supprimer les blocs inutilisés.

Je sais que cela se fait automatiquement par un travail hebdomadaire, mais je voulais l'essayer moi-même une fois.

Toutefois, l'exécution de la commande en mode commenté plusieurs fois, l'une après l'autre, non seulement le premier, mais également de nombreux autres appels subséquents, élimine un nombre assez important de blocs.

Le système est sinon en veille, il ne devrait pas y avoir beaucoup (le cas échéant) d’activité de disque entre ces appels.

Voici un exemple, j'ai appelé la commande environ une fois par seconde:

$ Sudo fstrim -va
/: 13,3 GiB (14308057088 bytes) trimmed
$ Sudo fstrim -va
/: 507,2 MiB (531845120 bytes) trimmed
$ Sudo fstrim -va
/: 113 MiB (118448128 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 190,6 MiB (199856128 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ Sudo fstrim -va
/: 68,2 MiB (71479296 bytes) trimmed
$ Sudo fstrim -va
/: 0 B (0 bytes) trimmed

La commande fstrim n'est-elle pas exhaustive ou pourquoi les appels suivants ignorent-ils toujours les blocs?

6
Byte Commander

Cela peut être dû au fait que des données altérées sont toujours renvoyées sur le périphérique ou à des processus en arrière-plan (tels que les démons de journalisation), etc., qui écrivent sur le périphérique. Une bonne expérience consisterait à forcer la synchronisation des données modifiées sur le périphérique avant d'essayer le découpage à l'aide de sync.

1
Colin Ian King