Como posso ver se meu cache de disco está desabilitado no Linux?

1

Eu tenho uma máquina virtual Ubuntu Linux aqui e acho que não há cache de disco.

Por exemplo, esta é a saída de free -m :

             total       used       free     shared    buffers     cached
Mem:           512         98        413          0          0          0
-/+ buffers/cache:         98        413
Swap:            0          0          0

Se eu criar arquivos grandes, ler arquivos grandes, ler todos os arquivos em meu diretório pessoal (2.2GB de arquivos), sempre vejo 0 para 'buffers', 'cache' e a linha "buffers / cache" é sempre o mesmo que a linha acima dele.

Da mesma forma, top e htop mostram que nenhum cache de disco está sendo usado.

Eu tentei eliminar todos os caches com:

echo 3 > /proc/sys/vm/drop_caches

e recebo um erro de echo: write error: Operation not permitted (mesmo quando executado como root).

Parece que o cache está desativado, mas achei que não era possível fazer isso. É possível desativar o cache de disco? Existe alguma maneira de confirmar se eu tenho cache de disco ou não? Talvez eu tenha sido infeliz e ainda não tenha visto nenhum uso de cache de disco.

Nota: Esta é uma máquina virtual / VPS hospedada. Algumas coisas estão desabilitadas, como swap (isso mesmo, não consigo trocar, a chamada do sistema swapon retorna EPERM). É possível fazer isso com o cache de disco? Existe alguma maneira de ver se isso foi feito?

    
por Rory 20.02.2011 / 19:46

1 resposta

4

Seu VPS está sendo executado no Virtuozzo / OpenVZ. Nessa configuração, não é uma VM totalmente segregada, como seria o caso do Xen ou do VMware. Com o OpenVZ e o Virtuozzo, existe uma única instância do kernel em execução (em vez de uma por VM), e esse kernel é responsável por manter a separação entre todos os processos em execução nas diferentes VMs convidadas. Isso inclui o gerenciamento da camada de cache de disco. Como essa função está operando fora da sua VM, você não tem nenhuma visibilidade do seu cache.

Não tenho certeza se esse é um problema específico da implementação do OpenVZ do seu host ou se é apenas um efeito colateral de como o OpenVZ faz a virtualização.

Como um aparte, eu verifiquei na VM OpenVZ que eu tenho acesso, e também não consegui ver as informações do cache. Se você precisar acessar essas informações, recomendo migrar para um provedor de VPS que use o Xen ou algum outro hipervisor real.

    
por 20.02.2011 / 20:12