windows虚拟机对应的qemu进程cpu占有率116%

1.1 现象

   在公有云平台,openstack计算节点上,如图Figure-1所示,一台windows虚拟机的qemu-kvm进程116%的占用cpu资源,如果Figure-2所示,该虚拟机仅有一个vcpu,因此该虚拟机已经满负荷的运行。

 

                           Figure-1

 

             Figure-2

1.2 分析步骤

   通过下面步骤的分析,了解qemu-kvm进程在忙什么,为什么这么忙?

1.2.1 查看进程、线程的状态

   通过top -d 3 -Hp 5180查看进程,以及该进程的相关线程的状态,分析出哪个线程在忙。如图Figure-3所示,线程5180的CPU%为26.7%,该线程是Qemu的主线程,线程5207的CPU%为90.1%,说明:

1)Qemu有线程互相间调度,不存在某个线程挂掉或者阻塞在什么资源上,把别的线程一直阻塞住的情况

2)5207线程一直90%左右的CPU占有率,是什么外部I/O事件,或者什么软件一直很忙?

   下面观察下线程5207的stack情况,stack里有函数调用的过程,使用gdb过程如图Figure-4所示:

1)gdb attach 5180

2)info thread   (线程5207的id是101)

3)t 101

4)backtrace

5)detach

6)quit

backtrace的结果可以看出,这个线程是个vcpu线程,通过kvm_vcpu_ioctl进入vm_entry。另外通过另外一种方式pstack 5207,同样可以查看线程的stack(Figure-5)。

 

                               Figure-3

 

                            Figure-4

 

      &n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值