Isso depende do sistema de arquivos e dos switches usados com o fsck.
O que fsck
verifica e tenta reparar dá uma explicação bem detalhada sobre o que o fsck faz quando invocado sem switches.
Algumas verificações demoram um tempo constante (por exemplo, verificação de superblocos), muitas delas dependem do número de inodes que o fsck deve processar (por exemplo, verificações de contagem de links), outras no tamanho do sistema de arquivos (por exemplo , verificações periódicas de blocos de dados).
Sem a opção -c
, o fsck não verifica o conteúdo dos arquivos regulares, portanto, o tamanho dos arquivos é irrelevante. Mesmo ao verificar blocos inválidos, o tempo de execução só aumenta com o tamanho do sistema de arquivos. Qual parte da partição está ocupada não afeta o tempo de execução. 1
O número de inodes de um sistema de arquivos é constante, ou seja, , decidido no momento da criação. Os metadados de cada arquivo são armazenados em um desses inodes. De acordo com ext4 , inodes não utilizados são marcados como tal no ext4, mas não em ext3. Assim, o tempo de execução do fsck aumenta com a contagem de arquivos no ext4, mas é constante (e alto) no ext3.
A figura a seguir ilustra isso:
Observe que as diferentes contagens de arquivo são representadas por cores diferentes. Os gráficos para ext3 com 2,1 milhões, 100 mil e até mesmo zero arquivos são idênticos. O gráfico para ext4 com 2.1M e 100k arquivos, respectivamente, mostra uma diferença significativa.
Por outro lado, o tempo de execução aumenta com o número de inodes com ext3, enquanto o inode não utilizado não afeta o tempo de execução com o ext4.
1 Verificado empiricamente executando fsck -c
em uma partição vazia.