Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Aug 2011 09:38:36 +0000
From:      Holger Kipp <Holger.Kipp@alogis.com>
To:        Jeremy Chadwick <freebsd@jdc.parodius.com>
Cc:        FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, Daniel Kalchev <daniel@digsys.bg>
Subject:   Re: 32GB limit per swap device?
Message-ID:  <84407276-7546-4ABE-A0EE-A5E82E1CC358@alogis.com>
In-Reply-To: <20110810084759.GA32346@icarus.home.lan>
References:  <4E4143A6.6030307@digsys.bg> <20110809151646.GF1814@albert.catwhisker.org> <4E422F8A.1070508@digsys.bg> <20110810074759.GA30254@icarus.home.lan> <4E423CAC.20008@digsys.bg> <CFE743A4-A5FA-4AC8-B090-E1174EB49473@alogis.com> <20110810084759.GA32346@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

Am 10.08.2011 um 10:47 schrieb Jeremy Chadwick:

> On Wed, Aug 10, 2011 at 08:27:27AM +0000, Holger Kipp wrote:
>>
>> Am 10.08.2011 um 10:09 schrieb Daniel Kalchev:
>>
>>> On 10.08.11 10:47, Jeremy Chadwick wrote:
>>>> On Wed, Aug 10, 2011 at 10:13:14AM +0300, Daniel Kalchev wrote:
>>>>> I am more concerned that with 32GB of swap in single device I could n=
ot dump kernel core, with 64GB of RAM.
>>>> My apologies if I've misunderstood something, but why does this of any
>>>> concern?  Machine has 64GB RAM.  You have a single swap slice that's
>>>> effectively 32GB.  How is a kernel panic worth of 64GB RAM going to fi=
t
>>>> into a 32GB swap slice?
>>>>
>>> The swap partitions are 64GB, it is only that FreeBSD refuses to use mo=
re than 32GB of each for swap. But.. it might happily dump core to the whol=
e partition, tests will show.
>>
>> I doubt it. Have you tried increasing kern.maxswzone? It is the size in =
KB (for 32GB it is set to 33554432).
>> kern.maxswzone: Maximum memory for swap metadata
>
> The variable is set to 32MBytes, not 32GBytes.  The default size is
> defined as variable VM_SWZONE_SIZE_MAX, which is 32*1024*1024 per
> sys/i386/include/param.h and sys/amd64/include/param.h.
>
> Furthermore, this variable does not do what you're implying.

Ah, then I misinterpreted the output of "man loader" which states:

     kern.maxswzone
                   Limits the amount of KVM to be used to hold swap meta
                   information, which directly governs the maximum amount o=
f
                   swap the system can support.

> 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.

Anyway, there is one thing in /usr/src/sys/vm/swap_pager.c (so if you get t=
his
warning (reducing size to maximum of... per swap unit)), this might be the
reason:

        /*
         * If we go beyond this, we get overflows in the radix
         * tree bitmap code.
         */
        mblocks =3D 0x40000000 / BLIST_META_RADIX;
        if (nblks > mblocks) {
                printf("WARNING: reducing size to maximum of %lu blocks per=
 swap unit\n",
                        mblocks);
                nblks =3D mblocks;
        }


Hope this is of some help.

Best regards,
Holger



--
Holger Kipp
Diplom-Mathematiker
Senior Consultant

Tel. : +49 30 436 58 114
Fax. : +49 30 436 58 214
Mobil: +49 178 36 58 114
Email: holger.kipp@alogis.com

alogis AG
Alt-Moabit 90b
D-10559 Berlin

web : http://www.alogis.com

----------------------------------------------------------

alogis AG
Sitz/Registergericht: Berlin/AG Charlottenburg, HRB 71484
Vorstand: Arne Friedrichs, Joern Samuelson
Aufsichtsratsvorsitzender: Reinhard Mielke



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84407276-7546-4ABE-A0EE-A5E82E1CC358>