LINUX.ORG.RU

тормоза

 ,


0

2

со временем портеж в моей системе стал тормозить все сильнее и сильнее. банальный emerge -pvuD world занимает несколько минут, хотя в системе всего ~1100 пакетов. можно ли как-то ускорить процесс обратно?

★★★★★

Вынесите дерево portage на отдельную reiserfs файловую систему, скажем размером в 2 Гб, packages и distfiles так же на отдельные.

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

Вынесите дерево portage на отдельную reiserfs файловую систему, скажем размером в 2 Гб, packages и distfiles так же на отдельные.

Это проверенное решение или догадка? Без наезда, просто мне интересно: ты пробовал это имлементировать, есть значительный эффект?

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

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

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

уже пробовал раньше, совершенно бесполезно

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

Это проверенное решение или догадка? Без наезда, просто мне интересно: ты пробовал это имлементировать, есть значительный эффект?

Да какой там эффект? reiserfs не будет так фрагментироваться от кучи мелких файлов портежа. Весь эффект. А ускорение emerge -pvuDN world - это sqlite.

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

Вот именно, что не будет. Ну а если всё стало опять плохо, то достаточно удалить все файлы из /usr/portage и выполнить 'emerge --sync', это всё в случае отдельного небольшого раздела для дерева portage.

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

sqlite

Это ерунда, во-всяком случае современный portage от этого особого профита не имеет, а время обновления увеличивается значительно в итоге. Дерево в SquashFS поможет больше. И да, ext4 слабо фрагментируется, от рейзера пользы скорее всего будет не много.

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

И да, ext4 слабо фрагментируется, от рейзера пользы скорее всего будет не много.

ext4 слабо фрагментируется на больших файлах, а для малых у рейзера есть tail packing

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

Да какой там эффект?

Ну, я на самом деле подумываю о tmpfs для /var/db/pkg и /usr/portage (без distfiles).

Но за наводку на sqlite спасибо: попробую как-то на досуге.

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

а для малых у рейзера есть tail packing

... который лучше отключать от греха подальше.

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

Это ерунда, во-всяком случае современный portage от этого особого профита не имеет

Согласно официальным данным, it depends:
http://gentoo-en.vfose.ru/wiki/Portage_SQLite_Cache
«Beware that statements that this would also speed up dependency calculations of Emerge, are not true for everyone. Since the type of file system, fragmentation / physical location, and other factors play a large role in this. Therefore it is recommended to test and compare this yourself, and not blindly believe either side, or even comparison tests on installations that are very different from yours.»

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

tmpfs для /var/db/pkg

Ну и что же эту будет ? Вам информация по установленным в системе пакетам и флагам, с которыми они установлены не нужна ? Как же вы тогда будете вообще что-то ставить ? Ну и с /usr/portage то же самое.

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

Вам информация по установленным в системе пакетам и флагам, с которыми они установлены не нужна ?

И где это находится?

Ну и с /usr/portage то же самое.

Что «то же самое»?

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

И где это находится?

В /var/db/pkg.

Что «то же самое»?

Да вот то же самое, вы что каждый раз будете заново выкачивать дерево portage ?

tmpfs - файловая система, находящаяся в памяти.

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

И где это находится?

В /var/db/pkg.

Кхм. Я ж писал:

Ну, я на самом деле подумываю о tmpfs для /var/db/pkg и /usr/portage

вы что каждый раз будете заново выкачивать дерево portage ?

Зачем?

$ /var/db/pkg
$ du -hs /var/db/pkg/
166M    /var/db/pkg/
# Каюсь, архивировал с помощью mc
$ ls -la /root/pkg.tar.bz2 
-rw-r--r-- 1 root root 32107515 окт 21 23:37 /root/pkg.tar.bz2
$ mount | grep "/run"
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=206792k,mode=755)
$ mkdir /run/delme
$ cd /run/delme
$ sync && echo 3 > /proc/sys/vm/drop_caches
$ time tar -jxvf /root/pkg.tar.bz2
...
real    0m5.066s
user    0m4.713s
sys     0m0.632s
Аналогично думаю сделать с /usr/portage . Обратный перенос данных предполагается.

Я готов потратить 5-10-20 секунд на сохранение минут при работе emerge.

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от kostik87

Для этого придумали squashfs плюс aufs / unionfs.

aufs / unionfs - ему есть место, в основном при обратном копировании. А squashfs используется для экономии места, а нам нужно не это: нам нужно данные в память поместить. Ну, то есть, она даст ускорение, но копирование в tmpfs даст больше.

Kroz ★★★★★ ()

Как человек, извращавшийся следующими способами:

  • выносил дерево и базу на отдельные тома или разделы с различными ФС
  • выносил дерево и базу в squashfs
  • включал и отключал sqlite для кэша
  • выносил дерево и базу в tmpfs

скажу со всей ответственностью: НИХРЕНА из этого не помогает в ускорении работы portage. Чтобы он работал быстрее - нужно его переписать нормально на нормальном языке.

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

Что-то ты привираешь. Я тоже

выносил дерево и базу в squashfs

звисимости считались быстрее раза в 3. Отказался я от этого по другой причине. Восстанавливать систему после краха (с лайвсиди из чрута) стало неудобно, хотя и возможно. Ну и eix-sync отрабатывал дольше, да.

У тебя, видимо, SSD — вот ты и не видишь разницы в скорости.

нужно его переписать нормально на нормальном языке

Там дело не в языке, а в алгоритмах.

also cast megabaks

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

звисимости считались быстрее раза в 3

А нифига.

У тебя, видимо, SSD — вот ты и не видишь разницы в скорости

Ага.

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

init_6 говорил что squashfs помогает..

„помогает“ в чем? squashfs лучше чем все остальные решает одну единственную проблему… А какую именно ты узнаешь если сравнишь squashfs с другими фс по времени на чтение.

Успехов.

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

paludis ?

А ты видимо уже провел его сравнение с portage и где то можно увидеть результаты по которым видно как он их уделывает?

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

НИХРЕНА из этого не помогает в ускорении работы portage

Еще один… Ты для начала четко ответь что именно ты собрался „ускорять в работе portage“? И да прости но если у тебя squashfs или tmpfs читалась так же или даже медленее чем иные фс то мне тебя искренне жаль.

Кстати вон там Why has portage become so slow тоже похожая тема. Рекомендуется к ознакомлению. И главное вон конкретно там TomWij среди прочего выложил ссылку на забавный патчик emerg.resolv.time_print.patch по применении которого все становится конкретно видно.

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

squashfs используется для экономии места

Меньше места - быстрее читается. Пользовался им до SSD.

goingUp ★★★★★ ()

И да вместо того, чтобы очередной раз ныть о том, что все плохо… тормоза… возьми portage-classic и сделай из него так чтобы все и всем было внезапно хорошо, шустро и ваще няшно!

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