Por que o QEMU não pode usar a memória dos buffers de memória linux?

1

Eu tenho um sistema sem swap e 16 GB de memória.

De acordo com meu conhecimento, o Linux aloca dinamicamente a alocação de memória dos buffers, dependendo da quantidade de RAM livre existente no sistema.

Neste exato momento, esta é a saída de free -h :

              total        used        free      shared  buff/cache   available
Mem:            14G        2,2G         10G        336M        2,3G         10G
Swap:            0B          0B          0B

Isso significa que eu teria 10 GB, mais cerca de 2 GB (buff / cache) que poderiam ser usados se necessário.

Quando executo o QEMU, só posso especificar até 10G de RAM; isso é correto? Há algo que eu possa fazer para disponibilizar esses 2 GB?

Obrigado.

    
por Marcus 06.08.2016 / 11:14

2 respostas

2

Acredito que você esteja com problemas devido à free -h de espaço livre arredondado. Tente verificá-lo sem -h e veja exatamente quantos bytes você tem de graça, e defina qemu para usar algo dentro desse limite (dê a si mesmo um pouco de espaço).

Em outra nota, é altamente recomendável ativar o espaço de troca se você estiver tentando usar toda a sua RAM disponível para uma VM. Ter swap é melhor que ficar sem RAM e pendurado.

Eu deixo o máximo de espaço livre possível, já que a troca de disco consome muito tempo.

(para quem visita isso no futuro: Veja link para saber por que você deve ser capaz de usar mais de 10 GiB. Buffer / A área de cache melhora o desempenho, mas é liberada automaticamente quando um programa precisa de mais RAM.

    
por 06.08.2016 / 14:44
0

Buffers / cache crescerão à medida que você usa o sistema, a menos que a memória seja necessária para outros propósitos. Estes são usados para melhorar o desempenho, mas o espaço é liberado quando a memória é necessária para outros propósitos.

Ele deve ser capaz de alocar até 11 GB para o QEMU, embora eu não o fizesse sem um arquivo de troca. Com um swapfile suficientemente grande, você deve ser capaz de exceder 16 GB alocados para o QEMU. Se o seu servidor se tornar memória, o desempenho sofrido sofrerá muito.

O outro valor importante é compartilhado. Se você tiver várias máquinas virtuais, o QEMU pode ter alguma memória compartilhada para seu código. Apenas uma cópia da memória compartilhada é necessária, não importa quantos processos a usem.

    
por 06.08.2016 / 14:49

Tags