From owner-svn-src-head@freebsd.org Fri Apr 14 20:48:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACEB4D3E06E; Fri, 14 Apr 2017 20:48:36 +0000 (UTC) (envelope-from ler@lerctr.org) Received: from thebighonker.lerctr.org (thebighonker.lerctr.org [IPv6:2001:470:1f0f:3ad:223:7dff:fe9e:6e8a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "thebighonker.lerctr.org", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 780A03D3; Fri, 14 Apr 2017 20:48:36 +0000 (UTC) (envelope-from ler@lerctr.org) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lerctr.org; s=lerami; h=Content-transfer-encoding:Content-type:Mime-version:In-Reply-To: References:Message-ID:CC:To:From:Subject:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=UDTZ+qx6i9G3JJzEIg+awJVN7S5+HgnqaL8gTSQpJyE=; b=FQE2oGRw1i1zV3aSNwHMbr2oOA T+dfQJnEb5CQ3nu75weBgzflpNUs+vjLLoBSGsk8nZVreFbscz4fh0GTdeX37COeFnU/08PNprysO snklbYgOuyLmrzDOF8Wvt1zP0LkzXkQcScWmE/I9M7X9ZBqy0KjelhHPC3FppNEsME8U=; Received: from [74.203.163.58] (port=3743 helo=[10.106.10.41]) by thebighonker.lerctr.org with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89 (FreeBSD)) (envelope-from ) id 1cz88x-000Izz-Rf; Fri, 14 Apr 2017 15:48:35 -0500 User-Agent: Microsoft-MacOutlook/f.21.0.170409 Date: Fri, 14 Apr 2017 15:48:06 -0500 Subject: Re: svn commit: r316938 - head/sbin/savecore From: Larry Rosenman To: "Ngie Cooper (yaneurabeya)" CC: "src-committers@freebsd.org" , Alan Somers , "svn-src-all@freebsd.org" , Slawa Olhovchenkov , "svn-src-head@freebsd.org" , Ngie Cooper Message-ID: <3D9A20AF-074F-494A-95FF-7A39CC964EA3@lerctr.org> Thread-Topic: svn commit: r316938 - head/sbin/savecore References: <201704141941.v3EJfmCW003347@repo.freebsd.org> <20170414201431.GF20974@zxy.spb.ru> <0CAE4B1C-228B-4C71-86E9-4337753DFF74@lerctr.org> <12820BAB-D8BA-4EDE-89BC-4BDB56B1E57A@gmail.com> <15ABDD42-E2C4-4519-B736-04A56FA8C2D0@gmail.com> In-Reply-To: <15ABDD42-E2C4-4519-B736-04A56FA8C2D0@gmail.com> Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Apr 2017 20:48:36 -0000 On 4/14/17, 3:46 PM, "Ngie Cooper (yaneurabeya)" wr= ote: =20 > On Apr 14, 2017, at 13:43, Larry Rosenman wrote: >=20 > On 4/14/17, 3:39 PM, "Ngie Cooper (yaneurabeya)" wrote: >=20 >> On Apr 14, 2017, at 13:37, Larry Rosenman wrote: >>=20 >> On 4/14/17, 3:33 PM, "Ngie Cooper (yaneurabeya)" wrote: >>=20 >>> On Apr 14, 2017, at 13:26, Larry Rosenman wrote: >>>=20 >>> On 4/14/17, 3:19 PM, "Ngie Cooper (yaneurabeya)" wrote: >>>=20 >>>> On Apr 14, 2017, at 13:14, Slawa Olhovchenkov wro= te: >>>>=20 >>>> On Fri, Apr 14, 2017 at 01:49:51PM -0600, Alan Somers wrote: >>>>=20 >>>>> On Fri, Apr 14, 2017 at 1:41 PM, Ngie Cooper w= rote: >>>>>> Author: ngie >>>>>> Date: Fri Apr 14 19:41:48 2017 >>>>>> New Revision: 316938 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/316938 >>>>>>=20 >>>>>> Log: >>>>>> savecore: fix space calculation with respect to `minfree` in che= ck_space(..) >>>>>>=20 >>>>>> - Use strtoll(3) instead of atoi(3), because atoi(3) limits the >>>>>> representable data to INT_MAX. Check the values received from >>>>>> strtoll(3), trimming trailing whitespace off the end to maintain >>>>>> POLA. >>>>>> - Use `KiB` instead of `kB` when describing free space, total sp= ace, >>>>>> etc. I am now fully aware of `KiB` being the IEC standard for 10= 24 >>>>>> bytes and `kB` being the IEC standard for 1000 bytes. >>>>>> - Store available number of KiB in `available` so it can be more >>>>>> easily queried and compared to ensure that there are enough KiB = to >>>>>> store the dump image on disk. >>>>>> - Print out the reserved space on disk, per `minfree`, so end-us= ers >>>>>> can troubleshoot why check_space(..) is reporting that there isn= 't >>>>>> enough free space. >>>>>>=20 >>>>>> MFC after: 7 weeks >>>>>> Reviewed by: Anton Rang (earlier diff), cem (ear= lier diff) >>>>>> Tested with: positive/negative cases (see review); make tinderb= ox >>>>>> Sponsored by: Dell EMC Isilon >>>>>> Differential Revision: D10379 >>>>>=20 >>>>> The free space calculation is still uselessly conservative, becau= se it >>>>> doesn't account for the fact that core dumps will always be eithe= r >>>>> spare or compressed. The result is that savecore will frequently >>>>> refuse to save corefiles even when there's plenty of space. I >>>>> proposed removing the space check altogether in >>>>> https://reviews.freebsd.org/D2587. However, I agreed to wait unt= il >>>>> after the compressed core dump feature was merged, because then m= ostly >>>>> accurate space checks will be possible. AFAIK the compressed cor= e >>>>> dump feature still hasn't been finished. >>>>=20 >>>> Is posible (in the future) to use multiple swaps (on multiple disk= s) >>>> for save core dumps? >>>=20 >>> Multiple swap devices is already handled by savecore(8), if one us= es fstab(5) or dumpon(8). Otherwise, you must invoke savecore(8) on individu= al devices. >>>=20 >>> As far as saving to multiple disks is concerned, I would hope that= one is using a redundancy capable filesystem (zfs) or RAID-like technology = (gmirror, graid, LSI Fusion=E2=80=99s RAID product line) to stripe and/or mirror t= he data across multiple disks. >>=20 >> =E2=80=A6 >>=20 >>> How do I use multiple devices to have the system dump on all of my = swap? I got a message about not enough space, but there (I think) was enoug= h between multiple drives=E2=80=A6. >>=20 >> Something like: >>=20 >> - Create a zpool >> - Mount zpool to /crashdumps >> - Change dumpdir in /etc/rc.conf to be /crashdumps, e.g., echo =E2=80=98= dumpdir=3D/crashdumps=E2=80=99 >>=20 >> ? >> HTH, >> -Ngie >>=20 >> PS The issue with lack of space might be the issue that Alan broug= ht up earlier with compressed dumps and overly conservative free space check= s, or it might be the fact that dumpdir (default: /var/crash) is full. >>=20 >>=20 >> I was talking about the actual crashdump to swap by the system. /va= r/crash has 10T of space (my root pool). >=20 > If your memory is bigger than your swap, you=E2=80=99re unfortunately no= t able to save the mini dump if the size of the saved pages exceed the space= on swap. I think this is where markj=E2=80=99s compressed dumps feature will come= in handy. > Thanks! > -Ngie >=20 >=20 > Yeah, I have the following: > borg.lerctr.org /home/ler $ swapctl -l > Device: 1024-blocks Used: > /dev/mfid0p3 8388608 0 > /dev/mfid1p3 8388608 0 > /dev/mfid2p3 8388608 0 > /dev/mfid3p3 8388608 0 > /dev/mfid4p3 8388608 0 > /dev/mfid5p3 8388608 0 > borg.lerctr.org /home/ler $ sysctl hw.physmem > hw.physmem: 137368682496 > borg.lerctr.org /home/ler $ >=20 > SO 6 8G partitions (48G), but the dump is larger than 8G. =20 Yup, that=E2=80=99s not going to work. Since you=E2=80=99re using mfi(4), I=E2=80=99d try= creating another 48GB large RAID-0 volume to help deal with that issue. Cheers, -Ngie No can do, the rest of the space is zpool. borg.lerctr.org /home/ler $ gpart show =3D> 40 3905945520 mfid0 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) =3D> 40 3905945520 mfid1 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) =3D> 40 3905945520 mfid2 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) =3D> 40 3905945520 mfid3 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) =3D> 40 3905945520 mfid4 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) =3D> 40 3905945520 mfid5 GPT (1.8T) 40 1600 1 efi (800K) 1640 1024 2 freebsd-boot (512K) 2664 1432 - free - (716K) 4096 16777216 3 freebsd-swap (8.0G) 16781312 3889162240 4 freebsd-zfs (1.8T) 3905943552 2008 - free - (1.0M) borg.lerctr.org /home/ler $ =20