Voltar à lista
Linux x86_64Arquivos & E/S#451

cachestat

Consulta estatísticas de page cache (páginas em cache, sujas, escrevendo) para um intervalo de um arquivo.

Descrição

Fornece de forma direta e eficiente informação que antes exigia técnicas indiretas como `mincore` sobre um mapeamento mmap — útil para ferramentas de observabilidade de I/O e cache.

man 2Desde o kernel 6.5

Assinatura

int cachestat(
    unsigned int fd,
    struct cachestat_range * cstat_range,
    struct cachestat * cstat,
    unsigned int flags
);

Parâmetros

ParâmetroTipoDescrição
fdunsigned intDescritor do arquivo a consultar.
cstat_rangestruct cachestat_range *Intervalo do arquivo (offset e tamanho) a considerar.
cstatstruct cachestat *Recebe as estatísticas (páginas em cache, dirty, em escrita, etc.).
flagsunsigned intReservado; deve ser 0.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1fdunsigned int
rsiargumento 2cstat_rangestruct cachestat_range *
rdxargumento 3cstatstruct cachestat *
r10argumento 4flagsunsigned int

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EFAULT(14)
Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
EINVAL(22)
Argumento inválido.
EOPNOTSUPP(95)
Operação não suportada nesse socket/arquivo (também ENOTSUP).

Relacionadas