[ovirt-devel] [VDSM] VDSM threads as in vdsm 4.15.0
Dan Kenigsberg
danken at redhat.com
Fri Jul 4 14:14:55 UTC 2014
On Fri, Jul 04, 2014 at 06:09:44AM -0400, Francesco Romani wrote:
> Hi,
>
> I'm trying to enumerate all the daemon threads VDSM uses, as in 4.15.0
> (to be exact, as in master 3228f5dad8f488192ea62f4e3e39172832435e80)
>
> So far I got:
>
> ===
>
> SocketServer: 1 service, short lived thread per request?
>
> VDSM alone, with no VM running
>
> num what where
> --------------------------------------------------------
> 1 libVirtEventLoop lib/vdsm/libvirtconnection.py
> P TaskManager vdsm/storage/hsm.py
> 1 StorageServer vdsm/storage/storageServer.py
> 1 StorageRefresh vdsm/storage/hsm.py
> 1 ChannelListener vdsm/virt/vmchannels.py
> 1 HostStatsThread vdsm/virt/sampling.py
> 1 MomThread vdsm/momIF.py
> 1 clientIF vdsm/clientIF.py
> 1 HostMonitor mom/HostMonitor.py
> 1 StompReactor vdsm/rpc/BindingJsonRpc.py
> 1 JsonRpcServer vdsm/rpc/BidningJsonRpc.py
> 1 GuestManager mom/GuestManager.py
> 1 PolicyEngine mom/PolicyEngine.py
> 1 XmlRpcServer? vdsm/rpc/BindingXMLRPC.py
> 1 Detector vdsm/clientIF.py
> 1 RPCServer mom/RPCServer.py
> 1 SocketServer stdlib, triggered by vdsm/rpc/BindingXMLRPC.py
> 1 IOProcess? vdsm/storage/outOfProcess.py
> S DomainMonitor vdsm/storage/domainMonitor.py
> P/2 HSM_MailMonitor vdsm/storage/storage_mailbox.py
> P/2 SPM_MailMonitor vdsm/storage/storage_mailbox.py
>
> P = pool size (config/irs/thread_pool_size)
>
> Total: 17 + number(StorageDomains) + P * 2
> Total with defaults (P=10) = 37 + number(StorageDomains)
> Minimum storage domains: 2 (ISO + data)
> Baseline: 39 threads
>
> Per VM
> 1 sampling vdsm/virt/sampling.py
> 1 GuestMonitor mom/GuestMonitor.py
>
> ===
>
> More precise update will follow. In the meantime, anyone please feel free to
> point out omissions/errors.
You must have dropped the migration-monitoring threads on purposed! (but
they still pop up). There are other ocasions when (hopefully)
short-lived threads are created, such as during getStorageDomainsList()
XmlRpcServer springs a new thread per http connection.
What's P/2 ? What are the question marks in the above table?
And in that line - what's the IOProcess thead?
Dan.
More information about the Devel
mailing list