Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Apr 2017 15:48:06 -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:  <3D9A20AF-074F-494A-95FF-7A39CC964EA3@lerctr.org>
In-Reply-To: <15ABDD42-E2C4-4519-B736-04A56FA8C2D0@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> <AB41FBB8-12D6-48D7-BE34-664D2F267A2F@lerctr.org> <15ABDD42-E2C4-4519-B736-04A56FA8C2D0@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4/14/17, 3:46 PM, "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> wr=
ote:

   =20
    > On Apr 14, 2017, at 13:43, Larry Rosenman <ler@lerctr.org> wrote:
    >=20
    > On 4/14/17, 3:39 PM, "Ngie Cooper (yaneurabeya)" <owner-svn-src-all@f=
reebsd.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.=
com> 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> 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 <ngie@freebsd.org> 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 <rang@acm.com> (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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D9A20AF-074F-494A-95FF-7A39CC964EA3>