Estou executando o Arch nesta máquina:
3.40GHz i7 hexacore (4930K)
16GB DDR3 1600MHz RAM
2x SSDs Samsung 840 EVO em Raid0 (usando ataque BTRFS)
Quando executo o VMware no meu Arch com algumas VMs (2 ou 3), fornecendo a eles cerca de 2 a 4 núcleos cada e 2 GB de RAM cada, meu sistema começa a congelar aleatoriamente. A cada dois minutos, o sistema congela por 10 a 30 segundos e começa a se mover novamente, apenas para congelar 30 segundos depois até eu desligar as VMs. Quando o sistema congela, o mouse ainda se move bem, mas os aplicativos param de responder no host - o vmware não responde, o firefox (que também está aberto no host) não responde, etc.
Quando o congelamento acontece, se eu tiver o monitor de processo em execução, ele mostra vários núcleos estendidos pelo vmware, mas, ao mesmo tempo, existem outros núcleos não utilizados. Eu também tenho RAM mais que suficiente - as VMs usam um total de 6 GB e o host tem 10 GB restantes. Eu tenho 0 espaço de troca, então não há como a troca estar atrasando nada.
Há relatos de que, como o btrfs causa fragmentação de arquivos no nível do sistema de arquivos, as máquinas virtuais podem ficar lentas. No entanto, até onde eu sei, a fragmentação é apenas um problema nos discos rígidos tradicionais - os SSDs não têm cabeças de leitura que procuram, portanto, não se importam se um arquivo é altamente fragmentado.
Isso nunca acontecia quando eu estava executando o Debian 7, então tenho certeza que não é um problema de hardware.
Quais ferramentas posso executar para descobrir por que meu sistema continua congelando? Eu tentei top / htop e iotop (nada está escrevendo ou lendo excessivamente quando o sistema congela). Não parece haver nenhum tipo de monitor de atividade para o btrfs dizer se está tendo problemas para acompanhar a escrita / leitura de qualquer coisa. Há mais alguma coisa que eu possa tentar?
fonte
Respostas:
Na página de dicas do btrfs :
Eu tive problemas semelhantes aos que você descreve com o Virtualbox. A
nodatacow
opção para btrfs não ajudou de maneira perceptível no meu sistema. Tentei também a opção de desfragmentação automática (mencionada como uma possível solução para bancos de dados de aplicativos em ambientes de desktop), também sem resultados que tornariam o comportamento aceitável.No final, reduzi minha partição btrfs e o Volume lógico em que ele vive, criei um novo LV e o formatou como ext4 e, em seguida, coloquei as imagens de disco da VM que tenho (VirtualBox) nessa "partição".
fonte
Pode ser um problema transparente de grandes páginas, onde um thread do khugepaged está literalmente minerando sua RAM para desfragmentá-la ou criando páginas enormes a partir de 4K.
O kernel poderia ter decidido habilitar páginas enormes, dada a quantidade bastante grande de RAM do sistema.
Verifique o conteúdo desses dois ajustáveis do kernel:
Se o conteúdo deles for
always
, você poderá alterarnever
e ver se os picos / congelamentos da CPU desaparecem.fonte
O problema foi completamente resolvido ao não usar LUKS na partição. Então, eu formatei a partição diretamente com BTRFS e não com LUKS primeiro.
Também montado com os seguintes parâmetros:
Relacionado ao desempenho de gravação Abysmal General dm-crypt (LUKS)
fonte