tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pbulk using tmpfs



On Sat, Apr 20, 2013 at 11:47:59PM +0200, iMil wrote:
> I'm running bulk builds for various archs using pbulk for quite
> some time now, and one of the domUs used for this is hosted by
> a server with a LSI MPT Fusion Raid controller. In short, that
> controller sucks, poor write performances, it is a well known
> fact. In order to speed up builds, I would like to know if I
> could benefit from tmpfs by mounting the WRKOBJDIR as a tmpfs
> directory.
> 
> In particular, while most packages will fit into a couple of
> megabytes, some of them (firefox, libreoffice, openoffice,
> koffice and such) take a couple of gigabytes to get built.
> 
> My question is: how will tmpfs behave? If I mount the WRKOBJDIR
> without any argument, it will "use", if I understand correctly
> the manpage, all of the available memory. Does this mean I will
> end up in a situation were the system memory will be filled by
> the build or is there some kind of smart mechanism within tmpfs
> which will "overflow" somewhere?

I have this setup (mostly created with mksandbox):
tmpfs on /home/wiz/sandbox type tmpfs (local)
/bin on /home/wiz/sandbox/bin type null (read-only, local)
/sbin on /home/wiz/sandbox/sbin type null (read-only, local)
/lib on /home/wiz/sandbox/lib type null (read-only, local)
/libexec on /home/wiz/sandbox/libexec type null (read-only, local)
/usr/X11R7 on /home/wiz/sandbox/usr/X11R7 type null (read-only, local)
/usr/bin on /home/wiz/sandbox/usr/bin type null (read-only, local)
/usr/games on /home/wiz/sandbox/usr/games type null (read-only, local)
/usr/include on /home/wiz/sandbox/usr/include type null (read-only, local)
/usr/lib on /home/wiz/sandbox/usr/lib type null (read-only, local)
/usr/libdata on /home/wiz/sandbox/usr/libdata type null (read-only, local)
/usr/libexec on /home/wiz/sandbox/usr/libexec type null (read-only, local)
/usr/share on /home/wiz/sandbox/usr/share type null (read-only, local)
/usr/sbin on /home/wiz/sandbox/usr/sbin type null (read-only, local)
/var/mail on /home/wiz/sandbox/var/mail type null (read-only, local)
/archive/foreign/src on /home/wiz/sandbox/usr/src type null (read-only, local)
/archive/foreign/pkgsrc on /home/wiz/sandbox/usr/pkgsrc type null (local)
/archive/foreign/xsrc on /home/wiz/sandbox/usr/xsrc type null (read-only, local)
/archive/packages/6.99.19 on /home/wiz/sandbox/packages type null (local)
/archive/distfiles on /home/wiz/sandbox/distfiles type null (local)

and have been building all my packages this way for years now, using
pbulk. Sometimes I trigger some tmpfs panics (see e.g. kern/42484,
kern/47480, kern/47739) but otherwise it works very well, is fast and
usually stable. The machine I used this on regularly had 12GB RAM
though (now even more), so I'm not RAM-limited.
 Thomas


Home | Main Index | Thread Index | Old Index