This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [HELP] Systemtap fails to load kernel module
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: Jovi Zhangwei <jovi at cloudflare dot com>
- Cc: systemtap at sourceware dot org
- Date: Tue, 05 Jan 2016 16:13:03 -0500
- Subject: Re: [HELP] Systemtap fails to load kernel module
- Authentication-results: sourceware.org; auth=none
- References: <CABPcSqLiPoC=d2zHsVXTPgb+DppYfNO8x0=a+Fzvoj637h7gmw at mail dot gmail dot com>
Hi, Jovi -
jovi wrote:
> [...] I found one workaround is decrease the value of
> /proc/sys/vm/min_free_kbytes, it works, but it's still a workaround,
> and it's annoying to change that value again and again.
We could put such logic into staprun perhaps - to try to empty out a
bit of kernel memory just before loading the module.
> We also tried to use bulk mode in systemtap, it eliminated the
> memory allocation error, but the retrieved output is unreadable, so
> we discard the bulk mode.
One uses the stap_merge script to combine the per-cpu output files
into a single readable file.
> Note that there have a lot of free memory in system, it's not
> because of out of memory, it's memory fragmentation.
Have you experimented with a smaller "stap -s1"? (Maybe we could
support fractions-of-megabytes.) Or maybe we are using an
unnecessarily fragmentation-sensitive allocation machinery in that
part of the runtime code.
- FChE