O du ou o df executa o armazenamento em cache?

4

Eu queria saber se existe algum cache feito com esses utilitários. Eu assumo não, mas não positivo. Existem alguns utilitários típicos semelhantes que usam o cache para acelerar os resultados em execuções subseqüentes?

    
por Gregg Leventhal 04.05.2014 / 22:38

2 respostas

2

Não há necessidade de armazenamento em cache em df , pois df realiza uma única chamada statfs() (por sistema de arquivos). E obviamente esta chamada lê arquivos em disco e soma seus tamanhos ... Os sistemas de arquivos (por exemplo, o kernel) controlam o espaço livre.

du usa (sem estar ciente disso) o cache de página que todos os aplicativos usam. Para armazenar em cache explicitamente entre execuções, teria que haver um "du daemon" de qualquer maneira.

    
por 04.05.2014 / 23:55
0

Existe um cache em algum nível (comando ou talvez no nível do driver OS ou FS - provavelmente um dos dois últimos se você me perguntar), embora me perdoe por não saber mais detalhes:

d@s7/mp3Ϡϡ time du -sh /mp3/    
27G     /mp3/
du -sh /mp3/  0.01s user 0.03s system 32% cpu 0.112 total

d@s7/mp3Ϡϡ time du -sh /mp3/
27G     /mp3/
du -sh /mp3/  0.00s user 0.01s system 82% cpu 0.015 total

d@s7/mp3Ϡϡ time du -sh /mp3/
27G     /mp3/
du -sh /mp3/  0.00s user 0.01s system 86% cpu 0.014 total

d@s7/mp3Ϡϡ time du -sh /mp3/
27G     /mp3/
du -sh /mp3/  0.01s user 0.01s system 78% cpu 0.020 total

Resultados obtidos no Ubuntu 15.04 com sistema de arquivos ext4, versão do kernel 3.19.0-15-genéricos.

    
por 18.03.2016 / 00:36