Skip site navigation (1)Skip section navigation (2)
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>