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