Eu tenho um pequeno dispositivo incorporado que possui apenas 128 MB de RAM
conectado a este dispositivo está um disco rígido de 2 TB USB2
Fiquei muito feliz com o desempenho do dispositivo até recentemente, quando o número de arquivos ultrapassou um limite da capacidade do disco ultrapassou um limite (não tenho certeza qual)
no disco existem muitos arquivos pequenos, devido à natureza dos aplicativos de gravação, os arquivos são organizados de maneira muito equilibrada - nenhum diretório de nó folha possui mais de 200 arquivos e existem pouco mais de 800.000 arquivos.
Espero obter uma pista sobre algo a investigar. O desempenho do disco caiu significativamente, o dispositivo estava se movendo muito bem e, de repente, o desempenho caiu como uma pedra.
Minha suposição é que a estrutura organizacional que eu escolhi no disco para meus arquivos prejudicou a capacidade dos caches de inode de permanecerem compactos.
como um experimento, desmontei o disco (liberando caches, verificados gratuitamente). Em um prompt de comando, naveguei profundamente na estrutura de diretórios. Ao todo, este diretório (e seus filhos) tinha apenas cerca de 3200 arquivos contidos abaixo dele e, nesse ponto, 'free' mostrava> 117MB de memória livre
neste ponto, digitei o comando 'find' seguido de 'free'
'find' mostrou cerca de 3000 arquivos, mas o uso de memória passou de ~ 117MB para ~ 2MB
Entendo o equilíbrio entre cache e memória livre e como o kernel considera uma página vazia uma página ruim - no entanto, 115 MB de conteúdo em cache de um diretório de 3000 arquivos apontam para uma lacuna séria no meu entendimento. Espero que alguém me ajude a entender o que está acontecendo
posso assumir que uma árvore equilibrada é o caminho a seguir para ter muitos arquivos?
fonte