public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* KVM with hugepages generate huge load with two guests
@ 2010-09-30  9:07 Dmitry Golubev
  2010-10-01 22:30 ` Marcelo Tosatti
  2010-10-03  9:28 ` Avi Kivity
  0 siblings, 2 replies; 18+ messages in thread
From: Dmitry Golubev @ 2010-09-30  9:07 UTC (permalink / raw)
  To: kvm

Hi,

I am not sure what's really happening, but every few hours
(unpredictable) two virtual machines (Linux 2.6.32) start to generate
huge cpu loads. It looks like some kind of loop is unable to complete
or something...

So the idea is:

1. I have two linux 2.6.32 x64 (openvz, proxmox project) guests
running on linux 2.6.35 x64 (ubuntu maverick) host with a Q6600
Core2Quad on qemu-kvm 0.12.5 and libvirt 0.8.3 and another one small
32bit linux virtual machine (16MB of ram) with a router inside (i
doubt it contributes to the problem).

2. All these machines use hufetlbfs. The server has 8GB of RAM, I
reserved 3696 huge pages (page size is 2MB) on the server, and I am
running the main guests each having 3550MB of virtual memory. The
third guest, as I wrote before, takes 16MB of virtual memory.

3. Once run, the guests reserve huge pages for themselves normally. As
mem-prealloc is default, they grab all the memory they should have,
leaving 6 pages unreserved (HugePages_Free - HugePages_Rsvd = 6) all
times - so as I understand they should not want to get any more,
right?

4. All virtual machines run perfectly normal without any disturbances
for few hours. They do not, however, use all their memory, so maybe
the issue arises when they pass some kind of a threshold.

5. At some point of time both guests exhibit cpu load over the top
(16-24). At the same time, host works perfectly well, showing load of
8 and that both kvm processes use CPU equally and fully. This point of
time is unpredictable - it can be anything from one to twenty hours,
but it will be less than a day. Sometimes the load disappears in a
moment, but usually it stays like that, and everything works extremely
slow (even a 'ps' command executes some 2-5 minutes).

6. If I am patient, I can start rebooting the gueat systems - once
they have restarted, everything returns to normal. If I destroy one of
the guests (virsh destroy), the other one starts working normally at
once (!).

I am relatively new to kvm and I am absolutely lost here. I have not
experienced such problems before, but recently I upgraded from ubuntu
lucid (I think it was linux 2.6.32, qemukvm 0.12.3 and libvirt 0.7.5)
and started to use hugepages. These two virtual machines are not
normally run on the same host system (i have a corosync/pacemaker
cluster with drbd storage), but when one of the hosts is not
abailable, they start running on the same host. That is the reason I
have not noticed this earlier.

Unfortunately, I don't have any spare hardware to experiment and this
is a production system, so my debugging options are rather limited.

Do you have any ideas, what could be wrong?

Thanks,
Dmitry

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2010-12-14  7:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30  9:07 KVM with hugepages generate huge load with two guests Dmitry Golubev
2010-10-01 22:30 ` Marcelo Tosatti
2010-10-01 23:50   ` Dmitry Golubev
2010-10-02  0:56     ` Dmitry Golubev
2010-10-02  8:03     ` Michael Tokarev
     [not found]   ` <AANLkTinJDLoWjiXwX1MOpuVf4RUuGE3qjrawS=d+5Swu@mail.gmail.com>
2010-11-17  2:19     ` Dmitry Golubev
2010-11-18  6:53       ` Dmitry Golubev
2010-11-21  0:24         ` Dmitry Golubev
2010-11-21  8:50           ` Michael Tokarev
2010-11-21 11:22             ` Dmitry Golubev
2010-11-21 11:28           ` Avi Kivity
2010-11-21 15:03             ` Dmitry Golubev
2010-12-01  3:38               ` Dmitry Golubev
2010-12-14  7:26                 ` Dmitry Golubev
2010-10-03  9:28 ` Avi Kivity
2010-10-03 20:24   ` Dmitry Golubev
2010-10-04  7:39     ` Avi Kivity
2010-10-04  9:01       ` Dmitry Golubev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox