J'ai un petit appareil intégré qui n'a que 128 Mo de RAM
attaché à cet appareil est un disque dur USB2 de 2 To
Je suis très satisfait des performances de l'appareil jusqu'à récemment, lorsque le nombre de fichiers a franchi un seuil de la capacité du disque a franchi un seuil (je ne sais pas lequel)
sur le disque se trouvent de nombreux petits fichiers, en raison de la nature de l'écriture, les fichiers d'application sont organisés de manière très équilibrée - aucun répertoire de nœud feuille ne contient plus de 200 fichiers et il y a un peu plus de 800 000 fichiers.
J'espère avoir une piste sur quelque chose à enquêter. Les performances du disque ont chuté de manière significative, l'appareil fonctionnait assez bien et puis soudain, les performances ont chuté comme une roche.
Mon hypothèse est que la structure organisationnelle que j'ai choisie sur le disque pour mes fichiers a en quelque sorte nui à la capacité des caches d'inode à rester dynamique.
à titre d'expérience, j'ai démonté le disque (vidage des caches, vérifié avec gratuit). Puis, à partir d'une invite de commande, j'ai parcouru profondément la structure du répertoire. Tout compte fait, ce répertoire (et ses enfants) ne contenait qu'environ 3200 fichiers, et à ce stade, «libre» affichait> 117 Mo de mémoire libre
à ce stade, j'ai tapé la commande «trouver» suivie de «libre»
'find' a montré environ 3000 fichiers, mais l'utilisation de la mémoire est passée de ~ 117 Mo à ~ 2 Mo
Je comprends les équilibres du cache par rapport à la mémoire libre, et comment le noyau considère une page vide comme une mauvaise page - cependant 115 Mo de contenu mis en cache à partir d'un répertoire de 3000 fichiers indiquent une grave lacune dans ma compréhension. J'espère que quelqu'un m'aidera à comprendre ce qui se passe
puis-je supposer qu'un arbre équilibré est la voie à suivre pour avoir beaucoup de fichiers?
la source