Em essência, o Page Cache é uma parte do Virtual File System (VFS) cujo objetivo principal, como você pode imaginar, é melhorar a latência de E/S das operações de leitura e gravação.
Na computação, um cache de página, às vezes também chamado de cache de disco, é um cache transparente para as páginas originárias de um dispositivo de armazenamento secundário, como uma unidade de disco rígido (HDD) ou uma unidade de estado sólido (SSD).
O sistema operacional mantém um cache de página em partes não utilizadas da memória principal (RAM), resultando em acesso mais rápido ao conteúdo das páginas em cache e melhorias gerais de desempenho.
Com base no exposto, quais são as ferramentas que já existem para monitorar o cache da página? Desejo monitorar o uso, os acessos e principalmente as páginas sujas.
A versão do SO é RHEL 7.X.
Em
/proc/meminfo
você tem uma série de parâmetros de memória para o sistema. Em particular, os valores relevantes devem serCached:
(memória usada pelo cache da página) eDirty:
(não apenas os do cache da página)Para um determinado processo, você deve olhar para
/proc/$PID/smaps
Você pode encontrar mais informações sobre os diferentes campos em https://www.kernel.org/doc/html/latest/filesystems/proc.html
Uma solução mais simples seria simplesmente monitorar a coluna
cache
defree -w
, que gera a memória usada pelo cache de página e slabs.Para RedHat, a empresa oferece uma solução (não tenho permissão para copiá-la aqui).
Se você está bem para compilar e implementar a partir do código-fonte em sua plataforma, você pode tentar uma ferramenta chamada cachestat , que se destina a fazer exatamente o que você deseja. Mas é para o Ubuntu, então você precisa construí-lo.
Você pode usar
cachestat
ecachetop
para mostrar a taxa de acertos/faltas do cache global e por processo.Você pode instalá-los facilmente no RHEL 7 emitindo
yum install bcc-tools
. Entre as dependências você encontrará oskernel-devel
pacotes, cujos cabeçalhos devem corresponder ao kernel em execução no momento. Se as duas ferramentas abortarem com uma mensagem semelhante amodprobe: FATAL: Module kheaders not found
, atualize seu kernel e reinicie.Aqui você pode encontrar outras ferramentas de desempenho muito úteis.