Subject: Re: Minimum swap size
To: Sean Davis <dive@endersgame.net>
From: Greywolf <greywolf@starwolf.com>
List: tech-kern
Date: 05/19/2003 12:11:10
In a conversation between Sean Davis ("Sean: ") and David Laight ("Dave: ")
sometime Today...

Dave:	I'm looking at the install scripts, currently they default swap
	to 4 times systems RAM.  This is a historical figure - I think based
	on the fact that big systems are likely to have more RAM.

	The actual figures are that you need enough swap to be able to
	run your workload, and enough RAM to stop it thrashing.

	However these days RAM is cheap, so it isn't unusual for someone
	to install netbsd on a system with over 1Gb of RAM even though
	the system will never have a working set anywhere near that big.
	Adding 4Gb of swap is getting silly for a single user desktop!

	Although disks are also cheap, it is quite possible that netbsd
	is sharing the disk with other OS (especially on i386).

	I was considering changing the default swap size to the larger of:
	- 1/10th the size of the disk/netbsd partition
	- the amount of RAM (so that you can dump to swap)
	- the smaller of 4 * RAM and 128MB

Greywolf (interjecting):  For what it's worth, I seem to remember the
	point of diminishing returns being 768MB, as stated by Solaris
	about five years ago.  Sure, things change.

Sean:	As far as dumping goes, my understanding is that we dump to the end
	of the dumpdev, right? (so if dumping to swap, and we have 32MB of
	ram and 64MB of swap, the dump will be written to the last 32MB)
	correct me if i'm wrong, but if that is the case, then swap should
	(at least on systems with small amounts of ram) be big enough so
	that the system can boot up and not overwrite the dump if it ends
	up swapping during the boot process, because swap is activated
	before savecore is run. Just my two cents.

Greywolf:  Unless and until we can dump across multiple swap partitions,
	one must have a contiguous partition (or a file!) for swap equivalent
	to length(physmem).

Dave:	I was also considering making '/' at least 1/10th of the disk.  That
	will give some space for /var and /tmp - I've had too much trouble
	with vi running out of space in /var/tmp when editing file of only
	a few 10's of MB...

Sean:	I agree with this - our default for '/' seems too small, to me.
	Especially if you let things accumulate in /var.

Greywolf:  Ya know, I realise that partitioning screws with the writeback
	sort algorithm (maybe it needs some rototilling?), but it's been
	really convenient to have / and /var on separate partitions (and
	/usr, usually on a separate spindle from / and /var, but that's
	just me.  I know a few folks who will vehemently disagree, and I
	will respectfully ask them at this point to remain silent).
	Also, isn't /tmp set to be a mfs by default?

Dave:	The 1/10th is a random fraction - but sharing the space out a bit does
	seem sensible to me....

Sean:	Agreed.

Greywolf:  If /var is separate from /, / can probably survive at 64MB rather
	nicely, with /var at 128MB, give or take, depending on logging, mail
	and such.  It just doesn't make sense to have a 1GB root partition,
	and that doesn't even take into account the dolts who allocate an
	entire 120GB disk to the root filesystem.  No, I will not recant
	that statement, unless someone wishes to show that Systems
	Administration is extremely overrated...

				--*greywolf;
--
NetBSD: unshackling hardware designers and users from the bondage of WinTel.
Partitioning doc: http://www.starwolf.com/greywolf/tech/how2part.html