On 11.01.2012 19:14, Jatin Kumar wrote:
> Hello,
> I was getting the following error in syslog:
> libvirtd: 21:19:12.116: 10955: error : qemudDispatchServer:1355 : Too
> many active clients (20), dropping connection from 127.0.0.1;0
>
> I investigated a bit and tried the following in a python console:
>
> import libvirt
> ~~~~
> conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system
> <
http://10.16.71.1/system>")
> //now check the no. of connections (by lsof|grep ESTABLISHED in the
> HOST), the count will increase by 1
> conn.close()
> *//the count will decrease by 1, it returns 0*
> ~~~~
> conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system
> <
http://10.16.71.1/system>")
> //now check the no. of connections, the count will increase by 1
> dom=conn.lookupByName("sowmya")
> print dom.info <
http://dom.info/>()
> conn.close()
> *//the count will not change, it returns 1*
> *
> *
> This is creating a lot of trouble to me but the reason is unknown.
> If someone could please point me out, if i am missing something.
> --
> Jatin
conn.close() returns the number of references to connection object;
So if the latter example returns 1 it is right as you still have domain
object which you obtained via lookupByName(). So you need to destroy
that object prior to closing connection.
It is probably sufficient to just do
dom = None
to force immediate garbage collection of the 'dom' object
Daniel
--
|: