Я пытался обновить свои материалы на своем компьютере, и кажется, что он не может прочитать мой список пакетов. Кажется, что каждый раз, когда я делаю это, sudo apt-get install *something* && sudo apt-get update
он застревает при чтении списка пакетов, это не было проблемой раньше. Вот мои характеристики и еще много чего:
- Память: 15,8 ГБ
- Процессор: AMD Phenom (tm) II x4 Процессор 965 x 4
- Графика: Галлий 0,4 на AMD БАРТС
- Тип ОС: 32-битная
- Netspeed:
command-line
apt
Dre
источник
источник
sudo apt-get update
, верно?Software Sources
, посмотрите, помогает ли выбор другого сервера вместо вашего текущего.Ответы:
Я тоже это видел.
У меня нет решения, но у меня есть обходной путь (
echo 3 | sudo tee /proc/sys/vm/drop_caches
) и потенциально больше информации, чтобы кто-то мог продолжить расследование.Это не проблема сети, потому что в «Чтение списка пакетов ...» , это просто чтение файлов в
/var/lib/apt/lists/
. A:дает:
Посмотрите, как эти 8
read
системных вызовов заняли более 2 секунд, хотя каждый отдельный вызов занимает менее 1 мс. Запускtime apt-get update
или просмотрtop
, этот процесс не занят между этими двумя вызовами. Так почему задержка?Тогда я сделал:
несколько раз и посмотрел на результат в
kern.log
:Итак, не уверен, что это означает, но это относится к обработке ошибок страниц, поэтому указывает на потенциальную проблему управления памятью.
Затем я попробовал:
И это заставило проблему уйти.
Теперь это очень похоже на проблему с ядром. Итак, я обновился до последней версии ядра (3.8 backport
raring
) и вот где я. Обновится, если проблема не исчезнет с более новым ядром.редактировать
Проблема сохраняется с новым ядром, хотя и не так плохо. И то же самое,
очищает проблему на некоторое время. Я видел только это на ноутбуках MSI (Название продукта: CR61 2M / CX61 2OC / CX61 2OD).
Изменить декабрь 2015
Как подтверждается
btrace
aptitude
/apt-get
, похоже, в данный момент выполняет некоторые операции дискового ввода-вывода. У него есть временный файл (/var/cache/apt/pkgcache.bin.<random-chars>
), отображенный в памяти, поэтому он не отображается вstrace
выводе.До сих пор не могу объяснить, почему это происходит только на некоторых машинах, почему удаление кешей помогает, почему переключение на 64-битные помогает.
Если кто-то может воспроизвести его, интересным может быть проверка того, происходит ли это и при работе под ним,
eatmydata
или если переход/var/cache/apt
наtmpfs
виртуальный диск помогает.источник
Совет на http://antti-juhani.kaijanaho.fi/newblog/archives/521 несколько раз ускорил его для меня на разных компьютерах:
(Блог также рекомендуется
sudo dpkg --forget-old-unavail
между 2 шагами, но, видимо, он устарел и больше не нужен.)источник
Следуйте шагам:
Очистить кеш:
Переместите
sources.list
так,apt
не можете использовать это:Переместите его назад, затем обновите:
Также проверьте и удалите все PPA и исходные строки, которые вам не нужны.
источник
В моей системе причиной было неправильное значение в
LANGUAGE=
переменной среды. Он должен содержать такие значения, какen:fr:de
, а неen_US.UTF-8,sl_SI.UTF-8
:Когда запускается (через
strace
),apt-get update
команда клонируется поread()
вызову. Это занимает много времени, чтобы выполнить, и съедает все доступные циклы одного ядра процессора:Если я установлю
LANGUAGE=
правильное значение (например,en
), все снова станет нормальным:источник