libvirtd 无缘无故占用高达 100% 的 CPU

libvirtd 无缘无故占用高达 100% 的 CPU

几天前,我的笔记本电脑上的 libvirt 开始出现异常。它毫无理由地消耗大量 CPU。我的所有虚拟机都已关闭,为什么在没有虚拟机运行的情况下,libvirt 会占用高达 100% 的 CPU?

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                           
 203328 root      20   0 1640992  37056  22308 R  86,1   0,1  22:57.03 libvirtd           
                                          

终止该进程让我的笔记本电脑很开心。一旦进程再次启动,问题就会再次出现。不知道如何调试或修复此问题,欢迎任何帮助。

使用最新的 Ubuntu 21.10,内核 5.13.0-30-generic。

答案1

分析该过程来找出 CPU 上的具体内容。

安装调试符号对于 libvirt,获取函数名称。

perf top --freq=999 --pid==$(pgrep libvirtd) 使用或保存到文件以供以后分析来查看实时性能计数器perf record。频率一次十的倍数不是锁定在秒上,从这里获得格雷格

分析 CPU 的结果需要一些思考。从高层次来看,它在做什么?如何提高效率?这可能需要与操作系统(Ubuntu)和/或虚拟器支持渠道。

如果这导致您的笔记本电脑的功率或热量需求不可接受,请考虑将虚拟机移至其他地方。

相关内容