Configuring poudriere is a bit of a dark art , because you are always limited by
1. Compilation time
2. Free Memory (& tune ARC cache)
3. Swap space (& No dying , being to busy swapping, or running out of it)
4. Number of cores
My current config on 16GB PC with 12 cores.
Note :
- I will later I increase TMPFS_LIMIT as some extractions fail.
- I have USE_TMPF="wrkdir" , meaning log are written to disk.,as the builder jails. But .o files are kept in memory.
- The limited number of builders I use. So few builders , but build in memory ,ie use CPU & ALLOW_MAKE_JOBS=yes
My workflow. Compile with TMPFS_LIMIT=3 ; repeat 4 ; repeat 5 until all done.
Feel free to elaborate on your experience. Alot depends on your hardware.
1. Compilation time
2. Free Memory (& tune ARC cache)
3. Swap space (& No dying , being to busy swapping, or running out of it)
4. Number of cores
My current config on 16GB PC with 12 cores.
Note :
- I will later I increase TMPFS_LIMIT as some extractions fail.
- I have USE_TMPF="wrkdir" , meaning log are written to disk.,as the builder jails. But .o files are kept in memory.
- The limited number of builders I use. So few builders , but build in memory ,ie use CPU & ALLOW_MAKE_JOBS=yes
My workflow. Compile with TMPFS_LIMIT=3 ; repeat 4 ; repeat 5 until all done.
Code:
ZPOOL=SSD
ZROOTFS=/usr/local/poudriere
FREEBSD_HOST=https://download.FreeBSD.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
USE_PORTLINT=no
USE_TMPFS="wrkdir"
DISTFILES_CACHE=/usr/ports/distfiles
BUILDS=2
BUILDERS=2
PARALLEL_JOBS=2
PREPARE_PARALLEL_JOBS=2
MAKE_JOBS_NUMBER=7
NOLINUX=yes
ALLOW_MAKE_JOBS=yes
TIMESTAMP_LOGS=yes
BUILDER_HOSTNAME=myfreebsd
USE_COLORS=yes
URL_BASE=http://127.0.0.1/poudriere/
PACKAGE_FETCH_BRANCH=quarterly
CHECK_CHANGED_OPTIONS=verbose
CHECK_CHANGED_DEPS=yes
#File Storage
TMPFS_LIMIT=3
#CC usage
MAX_MEMORY=4
#ALLOW_MAKE_JOBS_PACKAGES="llvm* gcc* rust* waterfox firefox*"
#MAX_FILES=8192
Feel free to elaborate on your experience. Alot depends on your hardware.