Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

KSM & hugepages

4 views
Skip to first unread message

Michael Tokarev

unread,
Mar 23, 2010, 7:40:01 AM3/23/10
to
Hello.

I noticed an interesting thing here, with qemu-kvm, KSM and
hugepages.

When I initially enabled KSM, for my two windows guests I've
seen ~100 000 pages in /sys/kernel/mm/ksm/pages_shared .
That's quite good, and overall memory usage improved.

Now, I also enabled hugepages in kvm, which speed things
up quite significantly (the speedup is noticeable).

But now, when both KSM and hugepages are activated, I don't
see KSM in action anymore. /sys/../mm/pages_shared shows
56 pages, which is nothing.

So I wonder what's up:
o that's 56 _huge_ pages (which means the actual saving
is 56*2M = 112Mb, which isn't really bad). If that's
the case, /sys/../mm/ interface lacks proper units
reporting;
o due to large pages there's much less chance to find
two pages with identical contents, so very little can
be shared;
o KSM does not scan hugepages at all
o something else.

What is the issue here?

Thanks!

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Avi Kivity

unread,
Mar 23, 2010, 9:10:02 AM3/23/10
to
On 03/23/2010 01:32 PM, Michael Tokarev wrote:
> Hello.
>
> I noticed an interesting thing here, with qemu-kvm, KSM and
> hugepages.
>
> When I initially enabled KSM, for my two windows guests I've
> seen ~100 000 pages in /sys/kernel/mm/ksm/pages_shared .
> That's quite good, and overall memory usage improved.
>
> Now, I also enabled hugepages in kvm, which speed things
> up quite significantly (the speedup is noticeable).
>
> But now, when both KSM and hugepages are activated, I don't
> see KSM in action anymore. /sys/../mm/pages_shared shows
> 56 pages, which is nothing.
>
> So I wonder what's up:
> o that's 56 _huge_ pages (which means the actual saving
> is 56*2M = 112Mb, which isn't really bad). If that's
> the case, /sys/../mm/ interface lacks proper units
> reporting;
> o due to large pages there's much less chance to find
> two pages with identical contents, so very little can
> be shared;
> o KSM does not scan hugepages at all
> o something else.
>
> What is the issue here?
>
>

Those pages aren't scanned since ksm only scans anonymous memory;
hugetlbfs is file backed memory. Even if it were anonymous memory, ksm
doesn't support merging large pages (and the probability of finding a
match is practically nil). No idea where the 56 comes from - perhaps a
leak from the previous runs?

--
error compiling committee.c: too many arguments to function

0 new messages