2012-11-16 11:47:07

by Nikola Ciprich

[permalink] [raw]
Subject: strange values of loadavg and nr of io-blocked tasks

Hi,

I was doing some I/O tuning of our KVM host, and noticed some
strange behaviour. When I start some heavy I/O load on guest
(ie run some fio benchmark), loadavg value of the host jumps
to value about 65 and holds until load ends. sar reports similar
number of blocked tasks. I don't really understand those numbers,
because only active tasks are 4 qemu-kvm threads and few other sleeping
tasks (so none in R or D state).
is it possible to somehow find which tasks seem to be blocked?
or why is loadavg value so high?
the system is x86_64 quad core with 4GB RAM running centos 6 with 3.0.52-rc1 kernel.

Thanks a lot in advance for any answer

BR

nik

--
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28.rijna 168, 709 00 Ostrava

tel.: +420 591 166 214
fax: +420 596 621 273
mobil: +420 777 093 799
http://www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------


Attachments:
(No filename) (962.00 B)
(No filename) (198.00 B)
Download all attachments

2012-11-17 14:54:44

by Dr. David Alan Gilbert

[permalink] [raw]
Subject: Re: strange values of loadavg and nr of io-blocked tasks

* Nikola Ciprich ([email protected]) wrote:
> Hi,
>
> I was doing some I/O tuning of our KVM host, and noticed some
> strange behaviour. When I start some heavy I/O load on guest
> (ie run some fio benchmark), loadavg value of the host jumps
> to value about 65 and holds until load ends. sar reports similar
> number of blocked tasks. I don't really understand those numbers,
> because only active tasks are 4 qemu-kvm threads and few other sleeping
> tasks (so none in R or D state).
> is it possible to somehow find which tasks seem to be blocked?
> or why is loadavg value so high?
> the system is x86_64 quad core with 4GB RAM running centos 6 with 3.0.52-rc1 kernel.

Recebt qemu split there io across multiple threads (as an alternative to AIO),
so what you"ll see is each qemu will dynamically start a load of threads when
is doing heavy IO, none of them will usr much cpu, but each will be blocking on io, and hence count as a 1 for the load.

It does have some flags (which I forget) that let you limit the number of
threads or flip to AIO.

Other than getting a scary loadavg number, it doesn't seem to have any bad
effecta.

Dave
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ gro.gilbert @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/