32GB limit per swap device?

Daniel Kalchev daniel at digsys.bg
Wed Aug 10 10:44:05 UTC 2011



On 10.08.11 11:47, Jeremy Chadwick wrote:
> So we're back to where we started: swap slices/partitions can be 
> greater than 32GBytes in size, but "something" is limiting the maximum 
> amount of memory which can be dumped to a single swap swap to 32GBytes. 
It seems there is still some confusion. Partition size(s) is 64GB, but 
FreeBSD will use only 32GB of that for swap.

Trying:

sysctl debug.minidump=0
sysctl debug.kdb.panic=1

Produces 64GB dump, but.. I can't see the dump on the swap device 
(savecore doesn't find the magic number). My swap device is gmirror or 
two slices (/dev/mirror/swap).

Removing the gmirror and listing both slices for swap .. works.


I could use separate device for dumps, but the disk real estate on this 
particular blade is limited...

Well, I really asked two questions:
Q1: Is FreeBSD still limited to 32GB per swap slice?
A1: yes. There is limit set in /usr/src/sys/vm/swap_pager.c

Q2: If FreeBSD will only use 32GB of the slice for swap, will it dump 
larger (64GB in my case) core in there?
A2a: yes.
A2b: If the swap slice is gmirrored, you don't get any dump back.

I believe the gmirror bug might exist in smaller partitions as well, but 
haven't tested it yet (have few such systems that never duped core). It 
does not matter if I do full dump or minidump: on gmirrored 64GB 
partittion savecore does not find anything.

Daniel


More information about the freebsd-stable mailing list