From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dor Laor Subject: Re: Limit the CPU usage of KVM Date: Mon, 17 Aug 2009 10:25:18 +0300 Message-ID: <4A8905DE.7020000@redhat.com> References: <797E8D15ABC7AC4DADF6DE8A5F7CD9B4063EBDE4@xmb-hkg-416.apac.cisco.com> Reply-To: dlaor@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: "Yu Jiang (yujia)" Return-path: Received: from mx2.redhat.com ([66.187.237.31]:37387 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752215AbZHQHZS (ORCPT ); Mon, 17 Aug 2009 03:25:18 -0400 In-Reply-To: <797E8D15ABC7AC4DADF6DE8A5F7CD9B4063EBDE4@xmb-hkg-416.apac.cisco.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/17/2009 08:09 AM, Yu Jiang (yujia) wrote: > Hi KVM experts, > > Our user case needs to run KVM and application on host together. To > reserve some CPU resource for application, we want to limit the CPU > usage of KVM. Without KVM CPU usage limitation, the idle CPU of host OS > becomes 0% in peak time. > > I have searched this topic on internet, but didn't find much comments. > > One possible solution could be managing KVM process as regular process > on host OS, and use tool like http://cpulimit.sourceforge.net/ to limit > maximum CPU usage of VM. Basically, the cpulimit tool use SIGSTP and > SIGCONT signals to stop and resume the execution of KVM process. It > works fine for us at moment. But, I feel there may be some risk to do > this, because the signal will cause whole process of KVM paused(not only > vcpu thread). Do you think it's safe to use cpulimit kinds of tool to > SIGSTP/SIGCONT kvm? > > Another possible solution was: > Enhance QEMU user space to monitor the CPU usage of itself, and use > existing way(pause_all_vcpus?) to pause vcpu thread of KVM in case KVM > reaches CPU usage limitation. Is this solution possible? A mgmt daemon can control qemu using the monitor and stop/cont it on these cases. The main problem with the two solutions above is that the guest clock might drift. Moreover, you increase the latency for the guest OS/applications. You can use the 'nice' command to priorities the host applications. For newer kernels you should use cgroups that solves this specific issue exactly. > > Any idea? > > > Thanks, > Yu > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html