美文网首页
2018-06-15

2018-06-15

作者: ferodevil | 来源:发表于2018-06-15 15:42 被阅读0次

    libvirtd启动后不响应任何事件("libvirtd" 0x00007fda03f7670d in fts_children)

    现场环境:

    qemu进程信息 libvirtd状态信息

    其中libvirtd主线程与qmp通信线程均跑在fts_children上,导致后续poll事件无任何响应。

    问题分析:

    libvirtd启动中qmp获取qemu特性过程

    如上图,总共有3次fork,最后qemu2会挂在1号进程下面,目的是防止僵尸进程,其中qemu对应上图的PID909进程,qemu1对应PID916进程,qemu2对应PID917进程;

    1、qemu1为僵尸进程是由于qemu未waitpid导致,在此处为正常现象;

    2、qemu2为僵尸进程,且其父进程为1号进程,可能是有任务未完成导致,此处其存在与libvirtd通信,即怀疑其domain socket存在问题?

    3、qemu为退出由于其与qemu2通过pipe通信未完成导致,即阻塞在管道读的过程中;

    4、第2点与第3点的共同点均存在qemu2,且qemu2的子线程此时陷入内存等锁过程中,是否pipe与domain socket之间存在锁竞争关系?

    to be continued

    相关文章

      网友评论

          本文标题:2018-06-15

          本文链接:https://www.haomeiwen.com/subject/zarmeftx.html