LINUX.ORG.RU

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

 , ,


3

2

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

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

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

Ответ на: комментарий от redgremlin

cpuid

Это должен делать сам программист, а -march сделает автовекторизацию.

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

для libreoffice-а нужно 7гигов, для всего остального поменьше

firefox

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

никто не говорит что лучше ... вон ТС и без мозга вполне нормально обходится и нам весело :)

anonymous
()

Gentoo для задротов. Юзай нормальный дистрибутив типа минта.

PORTAGE_NICENESS=

PORTAGE_IONICE_COMMAND=
ass ★★★★
()

При таком медленном процессоре я бы поставил бинарный дистрибутив.

slapin ★★★★★
()

Не собирай пакеты на слабой машине. Мощь gentoo не в мифической скорости, а в гибкости.

Ну а если ты нищеброд без топового core i7, то избегай тяжелого ПО (ходи в интернет через links :D) и используй -bin-пакеты по возможности.

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

Мне интересно. Правда.

Niceness включу. Как только подниму систему, лол, потому что я ее уронил. Рядом топик.

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

Есть мнение, что новый офис/wine/... тебе нужен чуть реже, чем выходит новая его версия. Такой принцип значительно ускоряет время апдейта, сам проверял.

Kroz ★★★★★
()

А вообще, осязаемо уменьшают время компиляции только distcc и sdd или tmpfs. Всё остальное изменяет ситуацию на единицы процентов.

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

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

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

Ща буду качать старый сырец и вернусь на первичное ядро.

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

Спеки такие: amd a10 5700

Азазаз

anonymous
()

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

potage niceness открой для себя. man nice хотя бы.

Говорят, мол есть то ли аналог, то ли обёртка для портажа, которая быстрее и лучше

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

есть смысл полезть поглубже и включить в ядро экспериментальный i/o менеджер — BFQ. Там же можно добавить некие опции к gcc.

Ты хендбук ваще читал? Ты должен ЗНАТЬ что и для чего делается, а не спрашивать советов на форумах, если юзаешь генту. Имеется ввиду, очевидные вопросы.

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

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

google://ccache

anonymous
()

Всё починил, вернувшись на старое ядро и отключив мультипроцессорность. Система работает с одним ядром. Надо разбираться, как так получается и в чем тут загвоздка.

Ещё у меня возникла мысль сделать tmpfs и вынести в неё рабочую директорию портажа, это должно ускорить компилирование. Но мне доступно 8 Гб памяти. Я могу поставить верхнюю границу для tmpfs, допустим, в 4 Гб, для большинства пакетов этого должно хватить, но я не знаю, а что произойдет, если я начну так компилировать что-то большое, например libreoffice? Портаж просто откажется работать из-за нехватки места, или же произойдет что-то похуже? Склоняюсь к мысли перестать онанировать систему и таки пользоваться готовыми бинарниками для больших приложений, пока что у меня только офис из таких.

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

отключив мультипроцессорность

сирисли? Зачем это делать? Одноядерной системой пользоваться близко к невозможно ведь.

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

Посмотреть список доступных системе ядер всегда можно в утилитах типа top (htop там и так далее). Как ты не заметил этого раньше?

anonymous
()

Как вспомню времена, когда и самому было настолько же нечем заняться, аж в дрожь бросает :)

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

Потому что со включенной этой опцией система перестала загружаться. Может быть, дело было и не в этом, а чем-то ещё. Но определенная связь тут есть: обновляю ядро, изменив всего один флаг в конфиге — SMP. Система не грузится. Убираю назад этот флаг — грузится.

То, что проблема не в версии ядра, сказать не могу. Буду, говорю же, по-разному пробовать, потому что с 1 ядром и правда очень неудобно.

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

Ну вот так, невнимательный и неопытный.

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

Ну ты что-то там говорил на тему того что стёр конфиги старые, получить конфиг загруженного ядра можно с zcat /proc/config.gz.

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

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

Вопрос в том, почему включение мультипроцессорности ломает систему.

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

Вопрос в том, почему включение мультипроцессорности ломает систему.

не ломает оно, ты помимо этого ещё ядро обновил и наверняка кучу других изменений внёс

make modules_install делал?

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

Да, конечно же я делал modules_install. И ядро я в /boot поместил, и даже загрузчик смог настроить, да. Жесткий диск в разъем подключил тоже. И вилку системника в розетку вставил, не забыл.

Ничего я не менял, один флаг переключил и пересобрал ядро, всё. Единственное изменение помимо SMP — версия ядра, хотя обновлялся я на стабильной ветке. Значит одно из двух — либо SMP, либо stable версия ядра нифига не stable.

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

Единственное изменение помимо SMP — версия ядра

нунифигасебе единственное :)

а make oldconfig делал?

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

Genkernel, как я слышал из разных источников, делает жирные и медленные ядра.

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

Проще дежурную остроту отпустить, это да.

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

не помогает решить проблему
Я-то нуб, и криворукий

Вот эту проблему и решит.

делает жирные

С чего вдруг?

медленные ядра

С чего вдруг?

Использую genkernel и проблем не знаю.

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

Ну, вы — первый опытный пользователь (из тех, чье мнение я слышал), который советует использовать genkernel.

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

Кроме того, если я не буду пользоваться всеми доступными инструментами, то никогда и не научусь работе с ними. Так до конца своих дней и буду писать genkernel all, даже если собранное вручную ядро будет априори лучше во всём. Разве это хорошо? Я вот сейчас разобрался бы с проблемой, глядишь и радиус кривизны рук стал бы больше.

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

Так до конца своих дней и буду писать genkernel all

То есть писать emerge, а не компилять самому - это нормально? Интересная у вас логика. Хотите разобраться - слака и LFS к вашим услугам.

Решение же простое: сносите всё к чертям. Ставите с нуля генту. Перед каждым шагом создаёте бекам. И всё.

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

Genkernel, как я слышал из разных источников, делает жирные и медленные ядра.

А у меня он делает легковесное и шустрое ядро. И мне норм.

-rw-r--r--  1 root root 6.3M Oct  4 07:22 kernel-genkernel-x86_64-4.8.0-gentoo
56K	/lib/modules/

ps: Кстати, ядро 4.8.0 норм, мне нравится. А у Линуса видимо дистрибутив кривой, или руки.

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

Ещё один школьник сжигает электричество понапрасну и думает что он что-то там «оптимизирует»

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

genkernel --menuconfig all

У меня ядро весит 3,5 мегабайт. Вообще тактический совет: сначала собираем работающую систему, настраиваем, а уже потом думаем над оптимизацией.

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

Всё, хорош уже, всё я сам решил по итогу, и ничего сносить не надо. Спасибо. За помощь. От обилия дрисни в треде голова болеть начинает, будто бы на двач зашел, не рад уже, что вообще вопрос поднял.

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

Конкретно ваш последний пост содержит совершенно неважный и беспредметный вопрос:

писать emerge, а не компилять самому - это нормально?

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

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

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

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

Почему вообще сложилось так, что только ядро автоматически не компилируется в генте и это надо делать вручную? А может есть автоматизация?

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