Date: Fri, 14 Apr 2017 15:43:34 -0500 From: Larry Rosenman <ler@lerctr.org> To: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, Alan Somers <asomers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, Slawa Olhovchenkov <slw@zxy.spb.ru>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Ngie Cooper <ngie@freebsd.org> Subject: Re: svn commit: r316938 - head/sbin/savecore Message-ID: <AB41FBB8-12D6-48D7-BE34-664D2F267A2F@lerctr.org> In-Reply-To: <12820BAB-D8BA-4EDE-89BC-4BDB56B1E57A@gmail.com> References: <201704141941.v3EJfmCW003347@repo.freebsd.org> <CAOtMX2gPHWRGiE9UA5AevZz=cTv_qksAWX0H-xRjDEHp0huCVg@mail.gmail.com> <20170414201431.GF20974@zxy.spb.ru> <CEC6CDCF-2EF2-4CEF-BF54-91F3021EF262@gmail.com> <0CAE4B1C-228B-4C71-86E9-4337753DFF74@lerctr.org> <EC89EB67-7854-4DE6-BD40-2626FF993181@gmail.com> <A0AA951D-6F45-46E3-8B95-4254AA7899E6@lerctr.org> <12820BAB-D8BA-4EDE-89BC-4BDB56B1E57A@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 4/14/17, 3:39 PM, "Ngie Cooper (yaneurabeya)" <owner-svn-src-all@freebsd= .org on behalf of yaneurabeya@gmail.com> wrote: =20 > On Apr 14, 2017, at 13:37, Larry Rosenman <ler@lerctr.org> wrote: >=20 > On 4/14/17, 3:33 PM, "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.c= om> wrote: >=20 >> On Apr 14, 2017, at 13:26, Larry Rosenman <ler@lerctr.org> wrote: >>=20 >> On 4/14/17, 3:19 PM, "Ngie Cooper (yaneurabeya)" <owner-svn-src-all@= freebsd.org on behalf of yaneurabeya@gmail.com> wrote: >>=20 >>> On Apr 14, 2017, at 13:14, Slawa Olhovchenkov <slw@zxy.spb.ru> wrot= e: >>>=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 <ngie@freebsd.org> wr= ote: >>>>> 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 chec= k_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 spa= ce, >>>>> 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-use= rs >>>>> can troubleshoot why check_space(..) is reporting that there isn= 't >>>>> enough free space. >>>>>=20 >>>>> MFC after: 7 weeks >>>>> Reviewed by: Anton Rang <rang@acm.com> (earlier diff), cem (earl= ier diff) >>>>> Tested with: positive/negative cases (see review); make tinderbo= x >>>>> Sponsored by: Dell EMC Isilon >>>>> Differential Revision: D10379 >>>>=20 >>>> The free space calculation is still uselessly conservative, becaus= e it >>>> doesn't account for the fact that core dumps will always be either >>>> 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 unti= l >>>> after the compressed core dump feature was merged, because then mo= stly >>>> accurate space checks will be possible. AFAIK the compressed core >>>> dump feature still hasn't been finished. >>>=20 >>> Is posible (in the future) to use multiple swaps (on multiple disks= ) >>> 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 s= wap? I got a message about not enough space, but there (I think) was enough= 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. /var= /crash has 10T of space (my root pool). =20 If your memory is bigger than your swap, you=E2=80=99re unfortunately not abl= e to save the mini dump if the size of the saved pages exceed the space on s= wap. I think this is where markj=E2=80=99s compressed dumps feature will come in h= andy. Thanks! -Ngie 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 $ SO 6 8G partitions (48G), but the dump is larger than 8G.=20 =20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AB41FBB8-12D6-48D7-BE34-664D2F267A2F>