12 votes

Est-il possible de TRIMER manuellement les blocs inutilisés (espace libre) d'un volume APFS existant ?

Lors de la migration d'un MacBook d'un disque dur vers un disque SSD, j'ai effectué une copie au niveau des blocs à l'aide de la fonction dd . Je pense que pour une durée de vie et des performances optimales de la flash, il serait préférable d'émettre un TRIM pour chaque bloc inutilisé dans le nouveau système de fichiers afin d'informer le contrôleur SSD (pour qu'il ne confonde pas mon système de fichiers avec le système de fichiers). dd copie d'un fichier volumineux qui occupe tout le disque).

Est-il possible de TRIMER manuellement l'espace libre d'un volume APFS sous MacOS (comme sous FreeBSD) ? trim ou de Linux fstrim ) ? J'ai lu qu'avec HFS+, la fonction fsck dispose d'une passe TRIM, de sorte que le TRIM peut être déclenché manuellement en exécutant la commande fsck -fy en mode mono-utilisateur, et un message "trimming unused blocks" devrait apparaître. Mais il ne prend pas en charge APFS (j'ai essayé et je n'ai pas vu de message concernant TRIM).

10voto

user68581 Points 11

Sur APFS, MacOS effectue automatiquement une opération TRIM sur l'espace disque libre au démarrage via le gestionnaire d'espace AFPS (spaceman). Par conséquent, tant que la fonction TRIM est activée sur le système (via trimforce pour les disques SSD tiers, voir la réponse de Karolus), vous n'avez pas à vous en préoccuper. Il n'y a pas de commande et il n'est pas nécessaire de couper manuellement les blocs inutilisés.

Vérification

Si vous souhaitez vérifier personnellement le fonctionnement du TRIM au démarrage, vous pouvez rechercher les messages relatifs à l'homme de l'espace dans votre journal de démarrage.

Exécutez la commande suivante en tant que root. Elle répertorie tous les messages du noyau ( --predicate "processID == 0" ) depuis le début de ce mois ( --start $(date "+%Y-%m-01" ) et rechercher les messages contenant "spaceman" ( grep spaceman ).

# log show --predicate "processID == 0" \
  --start $(date "+%Y-%m-01") | grep spaceman

Et vous pouvez voir des messages comme ceux-ci

2021-01-13 11:54:28.559149+0800 0x1bc      Default     0x0                  0      0    kernel: (apfs) spaceman_trim_free_blocks:3009: scan took 7.102084 s, trims took 6.415750 s
2021-01-13 11:54:28.565684+0800 0x1bc      Default     0x0                  0      0    kernel: (apfs) spaceman_trim_free_blocks:3017: 28059445 blocks free in 247937 extents
2021-01-13 11:54:28.572872+0800 0x1bc      Default     0x0                  0      0    kernel: (apfs) spaceman_trim_free_blocks:3025: 28059445 blocks trimmed in 247937 extents (25 us/trim, 38645 trims/s)
2021-01-13 11:54:28.580121+0800 0x1bc      Default     0x0                  0      0    kernel: (apfs) spaceman_trim_free_blocks:3028: trim distribution 1:25496 2+:47953 4+:92857 16+:41261 64+:17838 256+:22532

Les lignes sont trop longues pour être lues, je les ai légèrement éditées pour les rendre plus courtes. Vous devriez voir les lignes de journaux qui mentionnent "TRIM",

scan took 7.102084 s, trims took 6.415750 s
28059445 blocks free in 247937 extents
28059445 blocks trimmed in 247937 extents (25 us/trim, 38645 trims/s)
trim distribution 1:25496 2+:47953 4+:92857 16+:41261 64+:17838 256+:22532

Comme vous pouvez le voir, MacOS a supprimé 28059445 blocs inutilisés aujourd'hui. En supposant que l'APFS utilise une taille de bloc de 4 KiB, cela signifie que le SSD a supprimé 107 GiB d'espace libre. Et oui, cela correspond à peu près à l'espace libre sur mon disque. Tout fonctionne comme prévu !

4voto

karolus Points 442

Par cnet Vous devriez pouvoir vérifier si le TRIM est en cours d'exécution (l'article contient une vidéo) sous System Information > SATA. S'il n'est pas disponible, selon l'article, exécutez-le :

sudo trimforce enable

L'approbation nécessitera un redémarrage, mais vous devriez pouvoir vérifier qu'elle est à nouveau activée dans les informations système.

En outre, les volumes formatés en APFS exécutent automatiquement le TRIM au démarrage, de sorte qu'aucune commande n'est répertoriée pour le faire manuellement.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X