A fonte canônica dessas informações é /usr/src/linux/Documentation/filesystems/proc.txt
Buffers : o armazenamento relativamente temporário de blocos de disco bruto não deve ser muito grande (cerca de 20 MB) em
cache : cache na memória para arquivos lidos no disco (o cache da página). Não inclui SwapCached.
Você também pode encontrar mais alguns detalhes aqui .
O cache de página do Linux ("em cache :" do meminfo) é o maior consumidor único de RAM na maioria dos sistemas. Sempre que você faz uma leitura () de um arquivo no disco, esses dados são lidos na memória e vão para o cache da página (1).
O cache do buffer (" Buffers :" no meminfo) é um close relativo aos caches de dentry / inode.
Ou analise o código fonte como este .
A quantidade de buffers
é o valor de retorno da funçãonr_blockdev_pages(void)
long nr_blockdev_pages(void)
{
struct block_device *bdev;
long ret = 0;
spin_lock(&bdev_lock);
list_for_each_entry(bdev, &all_bdevs, bd_list) {
ret += bdev->bd_inode->i_mapping->nrpages;
}
spin_unlock(&bdev_lock);
return ret;
}
A quantidade de cached
:
global_page_state(NR_FILE_PAGES) – total_swapcache_pages – i.bufferram