5.x: how do I get a *swap*-backed /tmp via rc.conf?
David Wolfskill
david at catwhisker.org
Sun Oct 9 19:07:31 PDT 2005
I made the somewhat unexpected discovery that in FreeeBSD 5-STABLE,
if I use the "tmp*" variables in /etc/rc.conf to have an MFS /tmp
created, it is apparentyly not swap-backed -- as I expected from
the part of the mdmfs man page that reads:
By default, mdmfs creates a swap-based (MD_SWAP) disk with soft-updates
enabled and mounts it on mount-point.
and a review of the way mdmfs is invoked by /etc/rc; rather, it appears
to be malloc-backed.
Here's what's in /etc/{defaults/,}rc.conf about it on one such machine:
g1-59(5.4-S)[42] grep tmp /etc/{default*/,}rc.conf
/etc/defaults/rc.conf:tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never
/etc/defaults/rc.conf:tmpsize="20m" # Size of mfs /tmp if created
/etc/defaults/rc.conf:tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp
/etc/defaults/rc.conf:isdn_traceflags="-f /var/tmp/isdntrace0" # Flags for isdntrace
/etc/defaults/rc.conf:clear_tmp_enable="NO" # Clear /tmp at startup.
/etc/rc.conf:tmpmfs="YES"
/etc/rc.conf:tmpsize="512m"
/etc/rc.conf:tmpmfs_flags="-i4096"
g1-59(5.4-S)[43]
And:
g1-59(5.4-S)[43] sudo mdconfig -l -u md0
md0 malloc 524288 KBytes
g1-59(5.4-S)[44]
Oh, for some sense of what we're working with:
g1-59(5.4-S)[44] uname -a
FreeBSD g1-59.catwhisker.org. 5.4-STABLE FreeBSD 5.4-STABLE #6: Sun Oct 9 06:24:17 PDT 2005 root at g1-59.catwhisker.org.:/usr/obj/usr/src/sys/LAPTOP i386
g1-59(5.4-S)[45]
So, back to my original question: how do I get a *swap*-backed /tmp?
[The way I was alerted to the possibliity that my /tmp might not
be swap-backed is that I was using a machine running 5-STABLE as a CVS
server, in order to update /usr/ports on another machine. That's why I
have the -i4096 argument in there, BTW: to double the number of inodes
for when the CVS server starts consuming them with wild abandon as it
builds an isomorphic hierarchy to /usr/ports in /tmp. I think it only
took me 3 panics before I poked around in the mailing list archives and
noted scottl's comment about using a swap-backed /tmp instead, which got
me wondering what backing store my /tmp was using. I did look at
/etc/rc.d/tmp, as well a /etc/rc.subr, but I'm still failing to see why
I'm getting a malloc-backed /tmp. FWIW, although the /tmp in question
is an MFS in 4.x, I do this (use the box as a CVS server for /usr/ports)
without problem on 4.x.]
(I don't need separate copies of any replies; I read -stable, so I set
Reply-To as an appropriate hint.)
Thanks.
Peace,
david
--
David H. Wolfskill david at catwhisker.org
Prediction is difficult, especially if it involves the future. -- Niels Bohr
See http://www.catwhisker.org/~david/publickey.gpg for public key.
More information about the freebsd-stable
mailing list