El article référencé dans @ mattm La réponse de l'entreprise est un peu dépassée. IdleMaintenanceService
a été supprimé dans Lollipop, les choses ont changé. Sur Pie, le programme fstrim
est déclenché à partir de StorageManagerService
( 1 ) a MountService
( 2 ) :
si le dispositif est vivant à minuit + oisiveté fstrim est exécuté à la prochaine date disponible. charge + ralenti temps
* ( 3 )
Appels de service du Mont StorageManager
qui à son tour appelle Vold
à faire fstrim
.
Si le planning n'est pas respecté parce que les conditions ne sont pas réunies et que fstrim
n'a pas couru pour la dernière fois 3 days
( 4 ) il sera forcé lors du démarrage du dispositif si celui-ci est redémarré. SystemServer
( 5 ) , PackageManager
( 6 ) , StorageManager
( 7 ) y Vold
( 8 ) sont impliqués.
Dans chaque cas, le fichier /data/system/last-fstrim
( 9 ) (depuis Lollipop) est mis à jour ( 10 ) vous pouvez donc vérifier son horodatage ( nécessite une racine ) pour savoir quand fstrim
a été exécuté en dernier.
Si vous voulez faire TRIM
manuellement, utilisez l'outil de ligne de commande d'Android sm fstrim
(nécessite Root ou adb shell
). Auparavant, il s'agissait vdc fstrim dotrim
mais ajouté au gestionnaire de stockage dans Oreo ( 11 ) et retiré de vold
dans Pie ( 12 ) .
Afin d'envoyer FITRIM ioctl
au(x) système(s) de fichiers sélectionné(s) seulement, utilisez fstrim
outil ( nécessite une racine ) ; une applet busybox.
Et si vous n'avez pas de Root ?
Et vous soupçonnez que le programme fstrim
est manquée pendant plus de 3 jours, redémarrez l'appareil, fstrim
sera forcé (depuis Lollipop 5.1 ( 13 ) ). Simple.
Les applications ne peuvent pas TRIM sans Root ; voir cette réponse .
À QUELLE FRÉQUENCE LA GARNITURE DOIT-ELLE ÊTRE EXÉCUTÉE ?
La mémoire flash (y compris les SSD, les eMMC, les cartes SD, les clés USB, etc.) a un nombre limité de cycles de programmation/effacement avant de mourir. Mais à la différence des disques durs, les données ne peuvent pas être simplement écrasées sur la mémoire flash, elles doivent d'abord être effacées, ce qui est possible grâce aux techniques suivantes Garbage Collection
.
Maintenant, si nous en faisons trop fstrim
ce qui entraînera des GC fréquents en arrière-plan et une consommation précieuse. P/E
cycles et donc de réduire la durée de vie. Si nous ne faisons pas fstrim
du tout, il pourrait y avoir un GC inutile (de données déjà supprimées), et les opérations d'écriture deviendront trop lentes avec le temps car Erase
devra être effectuée avant l'écrasement des données, ce qui entraîne une latence très élevée par rapport à l'écrasement des données. Program
fonctionnement.
Nous avons donc besoin d'un équilibre entre les deux.
Il y a également d'autres facteurs, par exemple si le contrôleur eMMC prend en charge over provisioning
L'efficacité de la gestion de la GC en arrière-plan, de la gestion de l'usure et de la gestion de l'amplification de l'écriture, etc.
Donc, à moins que vous ne disposiez de la fiche technique de la carte eMMC de votre téléphone et que vous soyez sûr de ce que vous faites, il est préférable de laisser l'option fstrim
à OS. Sur les PC ( 14 ) :
Exécuter fréquemment fstrim, ou même utiliser mount -o discard
peut avoir un effet négatif sur la durée de vie des dispositifs SSD de mauvaise qualité. Pour la plupart des systèmes d'ordinateurs de bureau et de serveurs, une fréquence de coupe suffisante est de une fois par semaine .
Mais cela peut varier selon les situations.
RELATED :