Date: Thu, 11 Oct 2018 05:52:36 +0200 From: Polytropon <freebsd@edvax.de> To: Victor Sudakov <vas@mpeks.tomsk.su> Cc: freebsd-questions@freebsd.org Subject: Re: swap to a sparse file Message-ID: <20181011055236.138279b2.freebsd@edvax.de> In-Reply-To: <20181011014705.GA17798@admin.sibptus.ru> References: <20181011014705.GA17798@admin.sibptus.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 11 Oct 2018 08:47:05 +0700, Victor Sudakov wrote: > I've inherited a swapless FreeBSD 11.2 host with no unused disk space. > I would like to add some swap to be on the safe side: in case there is > a memory leak etc. > > On the other hand, I don't like to waste several gigabytes on a > precious SSD because perhaps the system will never need this swap > space anyway. Exactly my thoughts. :-) > The FreeBSD Handbook prescribes creating a swap file with "dd if=/dev/zero ..." > which would waste the space. A regular file as swap space also places additional load into the virtual file system, whereas one of the key advantages of a swap _partition_ is that no file access (through a filesystem) has to take place. > Is there any good reason I can't just "truncate -s2G /swap0" and > make the swap a sparse file? I'm using a "pseudo-file" approach which hasn't shown any problems so far. I'm using dd, but no actual disk space will be allocated for the target file. That file then is used like a regular swap partition via mdconfig's virtual node facility, and also deleted. Sure, it probably isn't the ideal solution, but it works. Maybe you can use this for further inspiration? In /etc/rc.local: SWAP="/swap0" /bin/rm -f $SWAP /bin/dd if=/dev/zero of=$SWAP bs=16m seek=500 count=0 /sbin/mdconfig -a -t vnode -u 0 -f $SWAP || /bin/sh /bin/chflags nodump $SWAP /bin/rm $SWAP /sbin/swapctl -a /dev/md0 echo -n " swap" In /etc/rc.shutdown.local: /sbin/swapctl -d /dev/md0 > /dev/null 2>&1 /sbin/mdconfig -d -u 0 echo -n " swap" -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181011055236.138279b2.freebsd>