LINUX.ORG.RU

Безбожно тормозит portage

 , ,


0

4

Безбожно тормозит portage на пятилетней генте (amd64). Никаких 12309 никогда не было. Вот что говорит strace говорит о системных вызовах read/open/stat/close

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 99.76    0.002067           0   1360993           read
  0.24    0.000005           0      4744      3795 open
  0.00    0.000000           0      1112           close
  0.00    0.000000           0      8323      4269 stat
------ ----------- ----------- --------- --------- ----------------
100.00    0.002072               1375172      8064 total
При этоv emerge -pv glibc длится аж целых 13 секунд — очевидно, это не системные вызовы.

В системе установлено 1007 пакетов (неужели это много?), и все они нужны.

Что можно предпринять, чтобы emerge летал, как в свежеустановленной системе? Неужели виноваты установленные пакеты?

При этоv emerge -pv glibc длится аж целых 13 секунд

Так быстро? Тут apt-get, бывает, дольше работает :)

KRoN73 ★★★★★
()

длится аж целых 13 секунд

сделал на своем ноуте - аж 27 секунд. Ну ты счастливчик.

devl547 ★★★★★
()
Ответ на: комментарий от KRoN73

-pv = pretend + verbose — ничего не собирать, только показать, что ставить будем. не припомню, чтобы apt-get так долго считал зависимости.

red_eyed_peguin
() автор топика
Ответ на: комментарий от devl547

На свежей системе эта же операция занимает 6 и 2 секунды для «холодного» и «горячего» запуска. Не верю я, что посчитать зависимости для glibc — это так сложно для современного железа.

red_eyed_peguin
() автор топика
Ответ на: комментарий от red_eyed_peguin

На свежей системе эта же операция занимает 6 и 2 секунды для «холодного» и «горячего» запуска

Для обжитой системы 30..40 секунд, даже минута — обычное дело :)

не припомню, чтобы apt-get так долго считал зависимости

До 10 секунд — вполне себе бывает.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

Ну и совсем забавно это выглядит на одноядернике уровня p4.

anonymous
()
Ответ на: комментарий от anonymous

Тормозит? Это ты ещё portage-2.2 не видел.

2.2.0_alpha100 у меня был с утра. Вроде и правда тормознее было — в районе 18 секунд.

red_eyed_peguin
() автор топика

на моем ноуте 11 секунд

punya ★★
()

попробуйте поставить alpinelinux, хотя бы на виртуалку, в нем пакеты ставятся мгновенно, время уходит только на скачивание. почему так? неужели дело в uclibc?

anonymous
()
Ответ на: комментарий от fads

Еще можно порекомендовать держать portage tree в squashfs.

Сейчас portage-2.1.11.9, было 2.2.0_alpha100 — неприемлемо медленно. Дерево в squashfs.

red_eyed_peguin
() автор топика
Ответ на: комментарий от science

у меня например, не на sqlite - emerge -pv glibc длится 15 секунд.

Пробовал неоднократно. Проблема, как я понимаю, только с портежем на третьем педоне (боже, как же я ненавижу этот говноязык!), который делает read'ы по 1-2 байта из кеша в pickle-формате. Озвученные 12 секунд — это при кеше в sqlite.

red_eyed_peguin
() автор топика
Ответ на: комментарий от red_eyed_peguin

На свежей системе эта же операция занимает 6 и 2 секунды

слоупочно то как... К примеру kde*

root[alex]# time slapt-get -s -i kdebase
Чтение списка пакетов...Готово
kdebase-lite, назначенный для установки, конфликтует с kdebase
Следующие НОВЫЕ пакеты будут установлены:
  attica libdbusmenu-qt fftw libwmf imagemagick cups samba xine-lib phonon 
  polkit polkit-qt-1 qca clucene raptor rasqal mysql redland soprano exiv2 
  strigi qimageblitz kdebase-lite oxygen-icons kdelibs kdebase 
0 обновлено, 0 переустановлено, 25 установлено, 0 будет удалено, 0 не обновлено.
К получению: 75,2MB/82,7MB архивов.
После распаковки на диске будет занято дополнительно 355,6MB.
attica-0.1.4-i486-1 будет установлен
libdbusmenu-qt-0.6.4-i486-1 будет установлен
fftw-3.2.2-i486-1 будет установлен
libwmf-0.2.8.4-i486-5 будет установлен
imagemagick-6.6.6_10-i486-1 будет установлен
cups-1.4.6-i486-1 будет установлен
samba-3.5.14-i486-1_slack13.37 будет установлен
xine-lib-1.1.19-i686-1 будет установлен
phonon-4.4.3-i486-1 будет установлен
polkit-0.101-i486-2 будет установлен
polkit-qt-1-r1145513-i486-2 будет установлен
qca-2.0.2-i486-1 будет установлен
clucene-0.9.21b-i486-1 будет установлен
raptor-1.4.21-i486-1 будет установлен
rasqal-0.9.21-i486-1 будет установлен
mysql-5.1.56-i486-1 будет установлен
redland-1.0.12-i486-1 будет установлен
soprano-2.5.2-i486-2 будет установлен
exiv2-0.21.1-i486-1 будет установлен
strigi-0.7.2-i486-2 будет установлен
qimageblitz-0.0.6-i486-1 будет установлен
kdebase-lite-4.5.5-i486-2dj будет установлен
oxygen-icons-4.5.5-i486-1 будет установлен
kdelibs-4.5.5-i486-2 будет установлен
kdebase-4.5.5-i486-3 будет установлен
Готово

real    0m0.700s
user    0m0.685s
sys     0m0.015s
root[alex]# 
chinarulezzz ★★
()

Черт, видимо, и правда в пакетах дело. Сделал копию /var/db/pkg, поудалял оттуда почти все, и emerge -pv glibc стал выполнятся за искомые 2,5 секунды при сотне «установленных» пакетов. Это печально.

Есть у кого позитивный опыт перехода на paludis?

red_eyed_peguin
() автор топика
Ответ на: комментарий от red_eyed_peguin

только с портежем на третьем педоне

а когда это портагэ перевели на 3 педон? у меня 2.2.0_alpha122 на python2.7

science ★★☆
()
Ответ на: комментарий от red_eyed_peguin

Проблема, как я понимаю, только с портежем на третьем педоне (боже, как же я ненавижу этот говноязык!), который делает read'ы по 1-2 байта из кеша в pickle-формате

в начале вылил ненависть на язык, а потом сказал о причине которые кроятся в руках программистов.

P.S. По собственному рукожопию знаю: оптимизированный и грамотный код на питоне - быстрее быдлокода на компилируемых языках, той же сишечке. Так что исправлять надо культуру кодирования :)

chinarulezzz ★★
()
Ответ на: комментарий от red_eyed_peguin

боже, как же я ненавижу этот говноязык!

«Я знал, что ты скажешь это» (c)

tailgunner ★★★★★
()

Погляди сюда

А вообще 13 секунд - это недолго.

feofan ★★★★★
()
Ответ на: комментарий от chinarulezzz

в начале вылил ненависть на язык, а потом сказал о причине которые кроятся в руках программистов.

У меня и у большинства описавшихся этих read'ов нет (от них и избавляет sqlite), а тормоза есть. Интенсивная работа с диском идет только первые 2-4 секунды, дальше еще 10 секунд строится дерево зависимостей на медленном тормозном педоне. На сишечке было бы быстрей процентов на 30-40.

red_eyed_peguin
() автор топика
time emerge -pv glibc

 * IMPORTANT: 3 config files in '/etc/portage' need updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-libs/glibc-2.15-r2  USE="(multilib) -debug -gd (-hardened) -profile (-selinux) -vanilla" 108 kB

Total: 1 package (1 reinstall), Size of downloads: 108 kB

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


real    1m19.803s
user    0m5.650s
sys     0m0.610s

13 секунд это очень, очень мало.

ugoday ★★★★★
()

При этоv emerge -pv glibc длится аж целых 13 секунд — очевидно, это не системные вызовы.

Собственно, кэша у портежа нет, емёрдж вытягивает инфу заново, требовать от него чего-то более быстрого попросту глупо.

Для таких нужд подойдёт `eix`.

dmitry_malikov ★★
()
Ответ на: комментарий от dmitry_malikov

Для таких нужд подойдёт `eix`.

стыдно спросить, но я рискну: а как eix'ом рассчитать сборку установленного и нет пакета, с зависимостями и прочим?

science ★★☆
()
Ответ на: комментарий от red_eyed_peguin

USE-флаг python3 у самого portage.

да, видел, но кроме того вижу «pypy1_9», так что - он будет работать настолько быстрее, насколько так поют о реактивном PyPy ?

science ★★☆
()
Ответ на: комментарий от red_eyed_peguin

Ну хоть что-то в слаке не тормозит :)

в отличие от генту? :)

На сишечке было бы быстрей процентов на 30-40.

Так что же ты не написал?

chinarulezzz ★★
()
Ответ на: комментарий от ugoday

13 секунд это очень, очень мало.

Много же.

$ time emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies                                ... done!
[ebuild   R    ] sys-libs/glibc-2.13-r4  USE="gd glibc-omitfp (multilib) nls -debug (-hardened) -profile (-selinux) -vanilla" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
zsh:1: command not found: format_exit_code

real	0m3.170s
user	0m3.057s
sys	0m0.097s

HTaeD ★★★★
()
Ответ на: комментарий от dmitry_malikov

equery?

Полную строку, пожалуйста, если не затруднит. Для расчета зависимостей не установленного пакета. Про d/b/h и прочее я в курсе.

science ★★☆
()
Ответ на: комментарий от HTaeD

Вот холодный

$ time emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies                           ... done! 
[ebuild   R    ] sys-libs/glibc-2.13-r4  USE="gd glibc-omitfp (multilib) nls -debug (-hardened) -profile (-selinux) -vanilla" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
zsh:1: command not found: format_exit_code

real	0m40.860s
user	0m4.937s
sys	0m0.271s

HTaeD ★★★★
()
Ответ на: комментарий от HTaeD
#  time emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-libs/glibc-2.15-r2  USE="(multilib) -debug -gd (-hardened) -profile (-selinux) -vanilla" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

real    0m56.124s
user    0m6.360s
sys     0m0.898s

Достало. Ухожу на дистрибутив мечты.

lyrix87
()

Безбожно тормозит portage
13 секунд

ЯЗАБАН

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

так почему не пользуется? :) Вообще, мне кажется странных людей с странными привычками становится всё больше и больше... или они как-то хитро расставлены, ... но терпеть тормозную программу, когда есть альтернатива быстрее, при этом жаловаться на язык, на котором написана эта программа и ненавидеть его, это очень извращенное поведение.

chinarulezzz ★★
()

Портеж тормоз, ушел на Ubuntu, не жалею.

z00ke
()
Ответ на: комментарий от chinarulezzz

так почему не пользуется?

Потому что он не drop-in replacement, а с ним еще потрахаться надо. Если бы начал акт оптимизации в пятницу, обязательно бы распробовал, а так времени осталось только чтобы (не без оснований, кстати), ненавидеть педон.

red_eyed_peguin
() автор топика
Ответ на: комментарий от chinarulezzz

потому что сейчас палудис не предоставляет всех возможностей портажа, а портаж научился тому, что умеет палудис. Плюс палудис может неожиданно глючить на сложных ебилдах, плюс автор странный человек.

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.