apt-get no contêiner LXC é muito lento no Ubuntu Server 12.04

4

Eu não tive muita sorte em descobrir a origem do problema, se esse "problema" é simplesmente uma limitação do LXC ou do zfs, ou se esse problema é específico do Ubuntu.

O problema é simplesmente que apt-get é muito lento quando executado dentro de um contêiner.

apt-get trava por cerca de 30 segundos ao ler as listas de pacotes (depois de executar apt-get update , por exemplo)

Reading package lists... 99%

Ele também trava ao instalar um novo software. Instalando strace , por exemplo, trava aqui:

Setting up strace (4.5.20-2.3ubuntu1) ...

Estou usando a versão diária do lxc com o armazenamento de backup do zfs.

    
por badsyntax 06.05.2014 / 13:00

1 resposta

2

A solução do OP foi removida da pergunta:

  

Eu fiz mais algumas pesquisas e encontrei uma solução com a ajuda de um colega.

     

Primeiro, usei strace para descobrir onde estava pendurado:

strace apt-get update
     

E notou que estava pendurado

msync(0x7f02a57b1000, 37879664, MS_SYNC ...
     

A pesquisa sugeriu que isso estava relacionado ao disco I / O.

     

Então eu instalei e executei iostat :

sudo apt-get install sysstat
sudo iostat -x 1
     

Utilitário de disco estava em cerca de 90%. Isso confirmou o afunilamento de E / S de disco.

     

Meu colega sugeriu que eu tentasse desativar a sincronização síncrona de arquivos para o ZFS:

zfs set sync=disabled pool/fs
     

E isso resolveu meus problemas!

     

Quer este seja um bug ou uma funcionalidade ainda está em debate, deixarei este assunto sem resposta por alguns dias.

    
por Zanna 22.12.2017 / 22:09