On Mon, Sep 06, 2010 at 07:31:55PM +0100, Daniel P. Berrange wrote: > On Mon, Sep 06, 2010 at 07:14:47PM +0100, Richard W.M. Jones wrote: > > On Mon, Sep 06, 2010 at 06:06:08PM +0100, Daniel P. Berrange wrote: > > > On Mon, Sep 06, 2010 at 04:58:42PM +0100, Richard W.M. Jones wrote: > > > > On Mon, Sep 06, 2010 at 05:46:03PM +0200, Wolfram Schlich wrote: > > > > > * Richard W.M. Jones <rjones@xxxxxxxxxx> [2010-09-06 17:23]: > > > > > > On Mon, Sep 06, 2010 at 05:06:55PM +0200, Wolfram Schlich wrote: > > > > > > > We are experiencing a problem with virt-top on our RHEL5 virthosts. > > > > > > > > > > > > > > On a heavily loaded virthost, virt-top is damn slow -- it takes 4-5s > > > > > > > to update and imposes a noticeable load on the dom0 as well > > > > > > > (xenstored shows up in top eating all CPU for some seconds). > > > > > > > xentop seems to impose *much* less load on the dom0. > > > > > > > Is there something I can do about it? > > > > > > > > > > > > > > Another problem: 0.3.3.1 shows RDRQ/WRRQ/RXBY/TXBY after some seconds > > > > > > > whereas 1.0.4 does not...? > > > > > > > > > > > > I bet both of these will be libvirt issues. > > > > > > > > > > > > Try running: > > > > > > > > > > > > virsh list --all > > > > > > > > > > Takes around 2-4s depending on dom0 load. > > > > > > > > CC-ing to libvir-list. There may be a better way now for virt-top to > > > > get the list of domains, but if 'virsh list --all' is also slow, then > > > > it's probably a generic libvirt problem. > > > > > > > > > > virsh domblkstat DomainName hda > > > > > > > > > > s/hda/xvda/ I guess :) > > > > > This one is quite fast, below 0.2s. > > > > > > > > > > > virsh domifstat DomainName vnet0 > > > > > > > > > > This takes around 0.1s most of the time, but sometimes around 1.0s. > > > > > > > > > > > etc. > > > > > > > > > > > > If those commands (done in a suitable loop) also cause load on the > > > > > > dom0, and if domblkstat/domifstat don't show stats, then it's down to > > > > > > libvirt. > > > > > > > > > > > > virt-top is a simple little program that just exercises those libvirt > > > > > > APIs ... > > > > > > > > > > Hmm :/ So I guess we're better off with xentop... > > > > > > > > We should be able to have performance very close to xentop. After > > > > all, libvirt makes exactly the same direct hypervisor calls. > > > > > > It depends on which API calls virt-top makes. The virConnectListDomains > > > goes to XenStore (fast), virDomainLookupByID/UUID go to HV (fast). The > > > possibly bad ones are virConnectDefinedDomains goes to /etc/xen (fast) > > > or XenD (slow) and virDomainLookupByName goes to XenD (slow). > > > > > > virsh list --all is slow because inactive domains requires using those > > > latter two APIs which hit XenD. virt-top/xentop shouldn't care about > > > inactive domains though, since they've obviously no interesting CPU > > > time to report :-) > > > > Unfortunately we do list them :-( > > > > > In a perfect world you'd also want to use the lifecycle events, so you > > > only need call ListDomains/ListDefinedDomains once, and then get explicit > > > notifications of new virDomainPtr instances without any need todo a lookup. > > > > OK, we might need to move to this model. Is it workable now? In RHEL 5? > > Yes but the caveat is that not all libvirt drivers support events, > so you need to keep the polling code too, and detect whether the > driver raises a VIR_ERR_NO_SUPPORT error when registering for the > lifecycle events. Thanks Dan. Wolfram, guess you should open a request for this feature at http://bugzilla.redhat.com/ if you want to see this. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones New in Fedora 11: Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 70 libraries supprt'd http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list