| ||||||||||
Ключевые слова: qt, gentoo, compile, distcc, (найти похожие документы)
From: xwrs <xwrs@ukr.net.> Newsgroups: email Date: Mon, 10 Aug 2009 14:31:37 +0000 (UTC) Subject: Акселерация сборки Qt в Gentoo при помощи distcc Сегодня решил установить qt и вспомнил сколько он собирается на Celeron 420 1.6GHz, 512DDR2. Вот результаты моих изощрений над distcc Рядом с моим рабочим местом находится серверная в которой 2x(Intel(R) Xeon(TM) CPU 3.00GHz x2) 4Gb RAM с установленным Gentoo. В соседнем кабинете сервер терминалов Core2Duo E5400 2.2Ghz 2Gb RAM тоже с Gentoo. Вот и осенило меня что можно заставить эти простаивающие "мощностя" поработать на меня (верней на мой Celeron 420) Я услышал о программах distcc и ccache и они меня заинтересовали. На данный момент у меня скорость сборки многих пакетов увеличилать на ~40%. И вот что для этого нужно Для начала определимся с условиями работы distcc. Настоятельно рекомендуется использовать одну версию gcc и distcc на всех компьютерах этой небольшой вычислительной системы. Это поможет избежать ошибок при сборке. Также, если компьютеров не так много, они не очень мощные или у Вас низкая скорость сети, то выигрыша от настройки данной системы Вы не получите. Поэтому желательно иметь хотя-бы 100Мбитную сеть и пару-тройку неплохих компьютеров (желательно многопроцессорных/многоядерных). Итак. Устанавливаем distcc и ccache. emerge distcc emerge ccache После установки необходимо заставить систему портежей работать с distcc. В make.conf дописываем FEATURES="ccache distcc" #фичи portage CCACHE_DIR="/var/tmp/ccache" #путь к кэшу ccache CCACHE_SIZE="4G" #размер кэша DISTCC_HOSTS="host1 host2 hostN" #разрешенные хосты DISTCC_DIR="/tmp/.distcc" #временный каталог для работы distcc Меняем MAKEOPTS="-jX" #X - суммарное количество процессоров всех компьютеров В файле /etc/conf.d/distccd находим похожие строки и меняем аналогично DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.100.0/24" #подсеть с которой мы работаем DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.100.105" #ip интерфейса который слушаем Да и еще я поменял себе уровень журналирования чтобы можно было протестировать работу distccd на серверах DISTCCD_OPTS="${DISTCCD_OPTS} --log-level debug" В файле /etc/distcc/hosts через пробел пишем адреса или имена машин, которые будут помогать нам компилировать. Например 127.0.0.1 192.168.100.105 192.168.100.125 192.168.100.7 Запускаем distccd на всех "подопытных" /etc/init.d/distccd start Не забудьте, что настраивать все машины нужно одинаково независимо от того будут они собирать пакеты для других или для себя. Вот собственно и все. Теперь можно устанавливать программы на слабых компьютерах используя вычислительные ресурсы, например, файлового сервера или простаивающих компьютеров. Список литературы: http://www.gentoo.org/doc/ru/distcc.xml http://linux2.pp.ru/tag/distcc
| ||||||||||
|
|