All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhenzhong Duan <zhenzhong.duan@oracle.com>
To: Don Slutz <dslutz@verizon.com>, Ian Campbell <Ian.Campbell@citrix.com>
Cc: liju.gopinath@oracle.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: how to generate a smaller core with xm dump-core
Date: Fri, 16 Jan 2015 16:39:27 +0800	[thread overview]
Message-ID: <54B8CE3F.5060806@oracle.com> (raw)
In-Reply-To: <54B7E7D4.2010808@terremark.com>

在 2015/1/16 0:16, Don Slutz 写道:
> On 01/15/15 05:20, Ian Campbell wrote:
>> On Thu, 2015-01-15 at 11:31 +0800, Zhenzhong Duan wrote:
>>> Hi Maintainers,
>>>
>>>
>>> We are facing issue collecting  coredump using the xm dump mechanism
>>> in Dom0.
>>>
>>> We face couple of such issues daily, where the VMs panic s and the SA
>>> team is supposed to collect the core.
>>>
>>> The actual problem is that where the VMs are having huge RAM like 32+
>>> GB RAMs dumping the core using xm dump generated core of almost the
>>> same size.
>>>
>>> And also when the RAM size is huge the time taken to dump is also
>>> huge.
>>>
>>> Transferring this core dump of this huge size to another system for
>>> analysis is really a pain. I am looking for some solution where we can
>>> generate smaller core using xm dump or any other tool.
>>>
>>> Something similar to makedumpfile which eliminates the zero and
>>> unnecessary pages, which results in core of smaller size.
>>>
>>>
>>> This has become a hot issue and we terribly need this feature.
>>>
>>> Can you come across with anything or are you aware of any feature
>>> which could cater our need….?
>> I'm not aware of any existing features or efforts in this area.
>>
>> If things like zero pages can be omitted from a core file without making
>> it non-standard then I think we'd be happy to see such patches to the
>> core libxc functions which produce the core files.
>>
>> That wouldn't help much with a heavily loaded VM which is making good
>> use of all its ram though.
>>
>> I've not looked but it's not unlikely that the dumping code itself is
>> not very optimal, so it might be worth having a look to see if more
>> batching etc might help speed things up at the root. Ages ago there were
>> patches floating around which improved the performance of the privcmd
>> mmap ioctl (from Mats Peterson), which might help here too (assuming
>> core dumping uses those interfaces as I expect). AFAIK those patches
>> were abandoned when Mats moved onto other things, resurrecting them
>> would probably help here as well as with migration and other
>> foreign-memory-man heavy workloads.
>>
>> Other random thoughts:
>>        * Automatically compress the core file, doesn't help with time to
>>          produce the dump (quite the opposite) but helps with copying it
>>          off box (but could also compress manually before moving or 
>> do it
>>          as a post processing step)
>>        * Have an option to produce some kind of "minicore", e.g. just
>>          register state and a few pages of the referenced stacks, 
>> perhaps
>>          a few pages of RAM either side of any register which happens to
>>          be a valid looking pointer.
>>                * Care would be needed to retain an acceptable 
>> probability
>>                  that the resulting core will actually be useful.
>>        * Consider including kernel RAM only (which might still be huge
>>          though if it has a 1:1 mapping of all RAM).
>>
>> I don't think any of those would be suitable for enabling by default but
>> they might be useful to have in the arsenal.
>>
>> HTH,
>>
>> Ian.
>>
>
> If these are Linux guests then the patch:
>
> http://lists.xenproject.org/archives/html/xen-devel/2013-11/msg02351.html
>
> Can be used to enable crash to access the crashed guest and collect
> some basic info. I would also include the output of xen-hvmctx and/or 
> xenctx.
> -- This is the quick way I would do Ian's minicore .
>
> Note: dump-core currently does not include xen-hvmctx output (nor does 
> it include
> xenctx -a output).
>
> Using the results from this may allow you to not need a copy of every 
> dump (
> not to imply that 2 similar minicore's would insure that a copy of 
> each core
> was not needed).
>
> I also think that makedumpfile can process a xen dump-core file and 
> make it
> smaller.
Looks similar as gdbsx.
This patch will help if I could reproduce the issue locally.
But I can't access customer's env in most situation and they will not 
wait me to do online debug remotely.

Yes, makedumpfile may help in size rather than time here.
I am thinking if port some code from makedumpfile is possible and 
acceptable.

zduan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2015-01-16  8:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-15  3:31 how to generate a smaller core with xm dump-core Zhenzhong Duan
2015-01-15 10:20 ` Ian Campbell
2015-01-15 16:16   ` Don Slutz
2015-01-16  8:39     ` Zhenzhong Duan [this message]
2015-01-16 10:14       ` Ian Campbell
2015-01-16 11:38         ` Daniel Kiper
2015-01-30 22:47       ` Don Slutz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54B8CE3F.5060806@oracle.com \
    --to=zhenzhong.duan@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=dslutz@verizon.com \
    --cc=liju.gopinath@oracle.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.