-->

2009-12-04

違うcpuでdistcc を使う の補足

2010-7-11 追記 この記事は間違っています。

この記事は違うcpuでdistcc を使うの補足です。

linux-headers 以外の package.mask 変更しました。
distcc client
>=sys-devel/binutils-2.19
>=sys-kernel/linux-headers-2.6.28
>=sys-devel/gcc-4.4
>=sys-libs/glibc-2.10
>=sys-devel/distcc-3.2

distcc host
>=cross-i686-pc-linux-gnu/binutils-2.19
>=cross-i686-pc-linux-gnu/gcc-4.4
>=cross-i686-pc-linux-gnu/linux-headers-2.6.28
>=cross-i686-pc-linux-gnu/glibc-2.10
>=sys-devel/distcc-3.2

pumpを有効にしました。
DISTCC_HOSTS に同じ設定を連続して書くことに意味は無いです。
MAKEOPTS="-j5"
FEATURES="distcc"
DISTCC_HOSTS="192.168.0.100,cpp,lzo 192.168.0.100,cpp,lzo 192.168.0.100,cpp,lzo 192.168.0.100,cpp,lzo 192.168.0.100,cpp,lzo"

作業状況を閲覧するコマンドは distccmon-xxx です。
$ sudo DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text 1|grep -v ^$

インストール後のメッセージです。
* Messages for package sys-devel/distcc-3.1-r4:

 *
 * Tips on using distcc with Gentoo can be found at
 * http://www.gentoo.org/doc/en/distcc.xml
 *
 * How to use pump mode with Gentoo:
 * # distcc-config --set-hosts "foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo"
 * # pump emerge -u world
 *
 * To use the distccmon programs with Gentoo you should use this command:
 * # DISTCC_DIR="/var/tmp/portage/.distcc" distccmon-text 5
 *
 * ***SECURITY NOTICE***
 * If you are upgrading distcc please make sure to run etc-update to
 * update your /etc/conf.d/distccd and /etc/init.d/distccd files with
 * added security precautions (the --listen and --allow directives)
 *

遅いPCが重い作業をしている時に、CPUを借りると遅くなります。
(例)
kurobox-hg を distcc のホストにしてCPUを借りる。
kurobox-hg で emerge world などを行う。
kurobox-hg に渡した分のコンパイルが長時間帰って来ない。

CPUを借りる側の、CPU以外に余裕がないと、効果は薄いです。
(例)
./configure などは distcc に関係が無い。
処理時間の大部分がコンパイル以外にある。
vmstat の io の bi, bo の部分の数字が高い。

0 件のコメント: