apt-get в контейнере LXC очень медленно работает на Ubuntu Server 12.04

Мне не очень повезло выяснить источник проблемы, является ли эта «проблема» просто ограничением LXC или zfs, или эта проблема специфична для Ubuntu.

Проблема заключается в том, что apt-get очень медленно работает в контейнере.

apt-get зависает около 30 секунд при чтении списков пакетов (например, после того, как я запустил apt-get update)

Reading package lists... 99%

Также зависает при установке нового программного обеспечения. Например, при установке strace он зависает:

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

Я использую ежедневную сборку lxc с резервным хранилищем zfs.

4
задан 23 December 2017 в 00:06

1 ответ

Решение OP удалило из вопроса:

Я сделал еще некоторое рытье и нашел решение с помощью коллеги.

Во-первых, я использовал strace для выяснения, где это зависало:

strace apt-get update

И замеченный это держалось

msync(0x7f02a57b1000, 37879664, MS_SYNC ...

Исследование предположило, что это было связано с диском ввод-вывод.

Таким образом, я установил и работал iostat:

sudo apt-get install sysstat
sudo iostat -x 1

Диск util был приблизительно в 90%. Этот подтвержденный диск узкое место ввода-вывода.

Мой коллега предложил, чтобы я попытался выключить синхронную синхронизацию файла для ZFS:

zfs set sync=disabled pool/fs

И это решило мои проблемы!

Является ли это ошибкой, или функция все еще для дебатов, таким образом, я оставлю эту проблему оставшейся без ответа в течение нескольких дней.

2
ответ дан 1 December 2019 в 10:20

Другие вопросы по тегам:

Похожие вопросы: