From owner-freebsd-stable@FreeBSD.ORG Wed Aug 10 09:37:36 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 806AE1065672 for ; Wed, 10 Aug 2011 09:37:36 +0000 (UTC) (envelope-from Holger.Kipp@alogis.com) Received: from alogis.com (firewall.solit-ag.de [212.184.102.1]) by mx1.freebsd.org (Postfix) with ESMTP id 2C94E8FC17 for ; Wed, 10 Aug 2011 09:37:35 +0000 (UTC) Received: from msx3.exchange.alogis.com (msx3exchange.alogis.com [10.1.1.6] (may be forged)) by alogis.com (8.13.4/8.13.1) with ESMTP id p7A9bPVp017697; Wed, 10 Aug 2011 11:37:25 +0200 (CEST) (envelope-from Holger.Kipp@alogis.com) Received: from MSX3.exchange.alogis.com ([fe80::c8ed:428a:a157:b61]) by msx3.exchange.alogis.com ([fe80::c8ed:428a:a157:b61%13]) with mapi id 14.01.0255.000; Wed, 10 Aug 2011 11:38:37 +0200 From: Holger Kipp To: Jeremy Chadwick Thread-Topic: 32GB limit per swap device? Thread-Index: AQHMVqDZ7UbCWbbykkWQgMEFR68dspUUf+sAgAELPACAAAm2gIAABfIAgAAEtACAAAYdgIAADcSA Date: Wed, 10 Aug 2011 09:38:36 +0000 Message-ID: <84407276-7546-4ABE-A0EE-A5E82E1CC358@alogis.com> References: <4E4143A6.6030307@digsys.bg> <20110809151646.GF1814@albert.catwhisker.org> <4E422F8A.1070508@digsys.bg> <20110810074759.GA30254@icarus.home.lan> <4E423CAC.20008@digsys.bg> <20110810084759.GA32346@icarus.home.lan> In-Reply-To: <20110810084759.GA32346@icarus.home.lan> Accept-Language: en-GB, de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.1.4] Content-Type: text/plain; charset="us-ascii" Content-ID: <18A3B64EA73E454098033816C76734ED@exchange.alogis.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: FreeBSD-STABLE Mailing List , Daniel Kalchev Subject: Re: 32GB limit per swap device? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Aug 2011 09:37:36 -0000 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