Quanta memória um modo de write-back do cache de disco do qemu usa?

1

Eu uso o Proxmox com o ZFS ZVOL ou o LVM-thin para os volumes de disco e é dito que o uso do modo writeback do cache de disco aumentará o uso de memória mais do que o alocado.

Existe uma maneira de verificar, limitar e aumentar o uso de memória para o modo de write-back do cache de disco do qemu no Linux KVM?

    
por chrone 19.07.2018 / 16:24

1 resposta

1

No modo de write-back, o QEMU / KVM escreve através do pagecache do host, basicamente como qualquer outro programa do userspace. Para obter informações sobre o conteúdo e a atividade do pagecache, você pode emitir:

[user@localhost ~]$ grep -i "^cache\|dirty\|writeback:" /proc/meminfo
Cached:            84548 kB
Dirty:                 0 kB
Writeback:             0 kB

Examinando a saída, podemos ver:

  • Em cache: é a quantidade de memória usada para o cache de leitura. Se você ler algo no guest, ele terminará both no cache de memória do host e na pagecache do convidado. Alguém vê esse cache duplo como um desperdício de recursos; na realidade, o cache somente leitura pode ser imediatamente descartado se estiver sob pressão de memória. Por outro lado, o cache do host geralmente é muito maior que o do convidado, portanto, um incremento de desempenho líquido pode ser obtido ativando o cache de write-back do QEMU (vs acesso direto);

  • Dirty: representa a quantidade de memória a ser escrita (ou seja, alterada). Para recuperar essa memória, o sistema deve gravar as alterações nos discos. Isso significa que, dependendo do subsistema IO subjacente, a recuperação de página suja pode ser lenta;

  • Writeback: é a quantidade de memória que o sistema está atualmente gravando nos discos, ambos devido à pressão da memória (e recuperação de página suja) e tempo (depois de, no máximo, 30s, as páginas sujas são gravadas no disco).

Para resumir, a maravilha do pagecache é que ele é automaticamente gerenciado pelo sistema host em resposta à pressão da memória e outros fatores (por exemplo: várias entradas sysctl ). Como geralmente causa um incremento de desempenho líquido no sistema convidado, eu configuro a maioria das minhas máquinas virtuais com cache de write-back.

Mais algumas informações podem ser encontradas aqui

    
por 19.07.2018 / 17:04