7 votes

Comment puis-je savoir si fstrim a été lancé lorsque j'ai mis mon téléphone en charge pendant la nuit ?

Y a-t-il un enregistrement où je peux confirmer cela ?

10voto

Irfan Latif Points 16863

A charge, appareil en veille pendant la nuit n'est pas la seule façon d'exécuter fstrim il y a aussi d'autres moyens.

Ce que cette ancien article citations sur le programme fstrim sur Android :

Le framework Android envoie un événement "start idle maintenance window" que le MountService écoute, puis invoque vold pour fstrimer les systèmes de fichiers lorsque certaines conditions sont remplies : l'appareil n'a pas été touché pendant plus d'une heure, aucun événement "idle maintenance window" n'a été envoyé en 24 heures, et l'appareil est soit hors charge avec une batterie de 80 %, soit en charge avec une batterie de 30 %.

Mais 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 3 days ( 4 ) il sera forcé lors du démarrage du dispositif si celui-ci est redémarré. SystemServer ( 5 ) , PackageManager ( 6 ) , StorageManager ( 7 ) et 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 .


PS : À QUELLE FRÉQUENCE LE TRIM DOIT-IL ÊTRE EXÉCUTÉ ?

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 d'écraser les données, ce qui a une latence très élevée par rapport à 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 Il s'agit d'un outil de gestion de la qualité, de l'efficacité de l'ordonnancement du GC en arrière-plan, de la gestion de l'usure et de l'amplification de l'écriture, etc.

Donc, à moins que vous n'ayez 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 à l'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 :

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X