o cache de disco do linux afeta os tempos de acesso relatados pelo stat?

4

No Ubuntu 12.04 eu fiz o seguinte

  1. associar um arquivo
  2. gata o mesmo arquivo
  3. stat o arquivo novamente
  4. cat o arquivo novamente após 5 min
  5. stat o arquivo

O tempo de acesso informado em 3. reflete o ponto em que 2. foi executado. No entanto, o tempo de acesso informado em 5. coincide com 2. e não com 4. Isso ocorre porque o Linux serve o arquivo fora do cache e evita o acesso ao disco na segunda instância? Também existe uma maneira de recuperar uma lista de arquivos que atualmente residem no cache de disco?

    
por iruvar 14.10.2012 / 22:48

2 respostas

4

O cache é transparente. Não afeta os metadados de um arquivo. A data de acesso de um arquivo mostra quando o arquivo foi lido, não importa se a leitura do arquivo causou uma leitura do disco.

Por padrão, o Linux não atualiza os tempos de acesso aos arquivos. A opção de montagem padrão sine kernel 2.6.30 é relatime , que sacrifica a utilidade do arquivo tempos de acesso para um pequeno ganho de desempenho. Parece que seu sistema de arquivos está montado com a opção relatime , então a segunda leitura do arquivo não atualizou seu tempo.

    
por 15.10.2012 / 00:02
1

O cache de metadados é geralmente diferente do cache de arquivos. Você pode obter uma lista de arquivos em cache com o utilitário fincore, consulte: link .

    
por 14.10.2012 / 23:12