LINUX.ORG.RU

Оптимизация генты и одержимость компиляцией

 , ,


3

2

Меня удручает тот факт, что крупные пакеты компилируются бесконечно долго. Офис — 10 часов, вебкит сейчас вот подтягивал — прождал 5 часов и плюнул, нажав ctrl+c, потому что пользоваться машиной во время компиляции очень затруднительно. А wine вообще задолбали обновлять, только-только скомпилировал за три часа, смотрю - опять обновление пришло. Ну это же несерьезно!

Я начал рыть инфу по теме и прочитал кое-что. Говорят, мол есть то ли аналог, то ли обёртка для портажа, которая быстрее и лучше — Paludis. А еще, поговаривают на зарубежных форумах, есть смысл полезть поглубже и включить в ядро экспериментальный i/o менеджер — BFQ. Там же можно добавить некие опции к gcc.

Все это вкупе способно, вроде как, дать значимый прирост производительности. Что вы думаете об этом, друзья?

У меня с Gentoo 3 компа, и для этих целей я держу VDS, на которой формирую бинарный репозиторий для всех 3-х компов. Пришлось унифицировать на всех 3 компах USE-флаги и профили, чтобы бинарники подходили ко всем компам.

Rinaldus ★★★★★ ()

Офис — 10 часов

есть libreoffice-bin

Говорят, мол есть то ли аналог, то ли обёртка для портажа, которая быстрее и лучше — Paludis. А еще, поговаривают на зарубежных форумах, есть смысл полезть поглубже и включить в ядро экспериментальный i/o менеджер — BFQ

существенно быстрее у тебя от этого пакеты не начнут собираться

И что у тебя за железо?

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

Разумеется. Бинарные репы обновляются и формируются автоматически, по cron'у. А на 3 компах я просто обновляю, как и прежде, только подтягиваются бинарные пакеты вместо сырцов. Очень удобно.

Rinaldus ★★★★★ ()
Последнее исправление: Rinaldus (всего исправлений: 1)

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

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

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

Спеки такие: amd a10 5700 (если мне память не изменяет), 8 гигов ddr3.

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

Да ведь бинарные пакеты — это не решение проблемы, можно ведь с таким же успехом сидеть на убунте или мяте какой-нибудь и обмазываться бинами. Тогда в генте просто нет смысла, она тем и отличается по сути (как я понимаю), что в ней есть юз-флаги и возможность компилять пакеты под себя.

Flagitio ()

пользоваться машиной во время компиляции очень затруднительно

что-то ты делаешь не так. Настрой PORTAGE_NICENESS что ли. Вообще незаметно компилируется.

anonymous ()

А wine вообще задолбали обновлять, только-только скомпилировал за три часа, смотрю - опять обновление пришло

Как будто тебя заставляют ставить все обновления подряд

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

Что вы думаете об этом

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

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

BFQ — говно, палудис — говно,

Хочется конкретики, ну или хотя бы ссылок. Мне же интересно! Я люблю ковыряться в системе, мне, если честно, прямо по кайфу во всем этом разбираться и делать. Я генту месяц только ставил из чрута, но зато как это было увлекательно!

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

О. Поясни за это. Я читал — хрен кто толком скажет, какое значение выставлять. Еще я прочитал, что gcc эту опцию даже не воспринимает.

Flagitio ()

Офис — 10 часов

у меня на Dual-Core E5700 он за 6 часов собирался, ты явно что-то где-то делаешь не так

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

может у тебя жёсткий слишком тормозной, попробуй компилять в tmpfs, для libreoffice-а нужно 7гигов, для всего остального поменьше

или ядро криво настроено

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

В чем проблема, товарищ зубоскал? Мне проще одну кнопку нажать, чем заливать на пастебин или тут растягивать страницу.

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

уж вряд ли ядро можно так криво собрать, чтобы компиляция программ тормозила :-) Наверное жёсткий умирает/тормозной.

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

Возможно, потому и спросил вот.

gentoo maks # qlop -t libreoffice
libreoffice: 33146 seconds average for 2 merges

Почти 10 часов.

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

Из крайности в крайность. Если тебя не устраивает, что какие-то пакеты долго собираются и у тебя нет причин оптимизировать их под вычисления уровня ЦЕРНа, то почему бы не взять готовые бинари? Я, например, забыл ужас под названием «сборка либры», а всё остальное как собирал, так и собираю

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

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

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

Наверное жёсткий умирает/тормозной

Винту много лет. Не могу вспомнить, когда куплен, я еще в школе учился, наверное, и комп у меня был на P4. Похрюкивает, однако ж, но работает, и не жалуется пока.

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

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

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

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

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

а у тебя все ядра работают/нагружены в процессе компиляции, во всяких системных мониторах смотрел?

Вдруг в биосе ядра отключены или энергосбережение химичит что-то :) Из серии бредовых предположений

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

Проверяй хард

А как его проверить? Обычный саташный диск на 500 гб. Ну интерфейс, конечно, старый, еще на 3 гбита, не на 6. Смарт не ругается, хотя наработка приличная, но еще не отказная. Бэд-блоков тоже не было пока.

Кстати, еще вопрос: а есть смысл собирать ядро из gentoo-sources последней версии? Она опережает знаичтельно по номеру стабильную версию.

Flagitio ()

Нужно купить нормальный проц, а не затычку сокета.

chromium + ccache = 1-1.5 часа с нагрузкой на 3-и ядра из 4-х. Работать почти не мешает.

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

Утилит полно, hdparm'ом проверь скорость, или лучше всё делать не с этого же харда - загрузись в victoria или mhdd, и там его прогони.

Ну не знаю, если просто так - тут уж как нравится. :-)

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

В биосе вряд ли они отключены, если сделать...

Ого! Я решил перепроверить и сделал nproc, так вот вывод оказался — 1! Я железно помню, что когда-то разбирался с cpu_flags и для этого смотрел всякие спеки процессора, и тогда мне nproc выдавал положенные 4. В чем же может быть дело? В биосе я вряд ли мог бы как-то выключить это.

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

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

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

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

blk-mq это экспериментальная фича не готовая пока для внедрения повсеместно, ей всего пару лет.

BFQ пишет один человек уже лет 10 наверно, его не приняли и не собираются принимать в ядро. В целом blk-mq делает планировщики io совершенно избыточными на современных дисках и показывает отличные результаты.

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

А как же...

export NUMCPUS=$(nproc)
export NUMCPUSPLUSONE=$(( NUMCPUS + 1 ))
export MAKEOPTS="-j${NUMCPUSPLUSONE} -l${NUMCPUS}"
export EMERGE_DEFAULT_OPTS="--jobs=${NUMCPUSPLUSONE} --load-average=${NUMCPUS}"

?

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

я как-то руками хардкодить в make.conf привык

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

blk-mq, стало быть, хорошая штука, хоть и новая? Имеет смысл это включить? Патчи ck, как я только что прочел, хорошо сказываются на скорости io-операций, хотя и занимается ими какой-то один хрен из Австралии.

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

Добрый самаритянин, может быть ты, если тебе не лень, глянешь конфиг в целом? Я ведь нуб, собирал по каким-то обрывочным инструкциям и по наитию, может бы стоит что-то там изменить мне, в ядре этом?

Поддержка многопроцессорности — я не понимаю. У меня всего один процессор. Но в нем 4 compute unit (ядра). Я должен включить поддержку многопроцессорности, чтобы система понимала мои 4 ядра? Странная штука, я не пересобирал давно уже, но раньше, как я и сказал, nproc давал 4, как и надо. Щас перезагружусь в биос, гляну кое что, может я выставил вдруг опцию 1 compute unit per processor?

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

Смотря что ты называешь «много».

*/* abi_x86_32
x11-misc/slim consolekit branding
xfce-base/xfwm4 xcomposite
www-client/opera-developer gtk
sys-process/cronie anacron
app-office/libreoffice -vlc collada gltf googledrive pdfimport
app-text/evince dvi xps
sys-auth/consolekit pm-utils
media-gfx/geeqie gtk3 gpu-accel
mail-client/claws-mail smime sieve gtk3 pgp gdata gnutls imap notification spamassassin spell xface
app-emulation/wine staging capi gecko gstreamer mono netapi osmesa pcap pipelight prelink run-exec s3tc themes udev
media-libs/freetype -cleartype_hinting infinality

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

Забей на всё остальное, верни CONFIG_SMP взад и пересобери ядро.

У меня всего один процессор. Но в нем 4 compute unit (ядра). Я должен включить поддержку многопроцессорности, чтобы система понимала мои 4 ядра?

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

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

можно ведь с таким же успехом сидеть на убунте

в генте просто нет смысла

Начинаешь что-то понемногу понимать. Продолжай в том же направлении.

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