Poudriere Timeout

Torsten Zuehlsdorff mailinglists at toco-domains.de
Mon Jan 19 16:34:15 UTC 2015


Hi,

>>> Has anyone seen this before?
>
>>> print/texlive-texmf texlive-texmf-20140525_4 package/timeout runaway_process
>>
>> Yes, i have. I've solved this problem by moving the build-jails of
>> poudriere to an memory disk. This make poudriere no longer io-bund and
>> incredibly fast. And solve this issue ;)
>
> How did you do this ? I want to try this myself 8-}

I've hacked poudriere to run within a jail. Therefore its slightly 
modified and you must checked the paths for your configuration.

When you run "poudriere bulk" you can view with "jls" the path were it 
creates the build-jails. Stop it right there.

In my case the path is:
/usr/local/jail/poudriere/poudriere/data/.m

(It is possible that you must create the path)

I do before execution:

# mdmfs -s 20gb -S -o async md1 /usr/local/jail/poudriere/poudriere/data/.m

This creates an memory disk of 20 GB and mounts it to the given path. 
Please be careful that the size is not greater than you RAM + free SWAP. 
Otherwise you could kill some programs.

After this, launch poudriere. Invoke it with -J and choose a small 
number for testing. With 20 GB memory disk it works best for me with "-J 
6". With less RAM use less jails. After building finished unmount the 
path and free the ram:

# umount /usr/local/jail/poudriere/poudriere/data/.m
# mdconfig -d -u 1

Everything can be scripted easily. In my case this speeds up the 
complete build for the packages of my Laptop (around 800 packages, 
involving X, Firefox, Thunderbird, LibreOffice) from 20 hours to 4,5 hour.

Memory disk is a very good choice, because most of the IO - creating 
jail, building dependencies, compiling, etc. - is thrown away at the 
end. At least we just want the final package.

I can write a more detailed description if needed.

Greetings from Germany,
Torsten


More information about the freebsd-ports mailing list