21.3. 回溯虚拟机进程

当与虚拟机(VM)相关的进程出现故障时,您可以使用 gstack 命令和进程标识符(PID)来生成一个故障进程的执行堆栈跟踪。如果该进程是线程组的一部分,那么也会跟踪所有线程。

先决条件

  • 确保 GDB 软件包已安装。

    有关安装 GDB 和可用组件的详情,请参阅 安装 GNU 调试器

  • 请确定您知道要追踪进程的 PID。

    您可以使用 pgrep 命令,后跟进程的名称来查找 PID。例如:

    # pgrep libvirt
    22014
    22025

流程

  • 使用 gstack 工具,后跟您要回溯的进程的 PID。

    例如:以下命令追踪 PID 为 22014 的 libvirt 进程。

    # gstack 22014
    Thread 3 (Thread 0x7f33edaf7700 (LWP 22017)):
    #0  0x00007f33f81aef21 in poll () from /lib64/libc.so.6
    #1  0x00007f33f89059b6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
    #2  0x00007f33f8905d72 in g_main_loop_run () from /lib64/libglib-2.0.so.0
    ...

其它资源

用于报告虚拟机问题并提供日志的其他资源

要请求额外的帮助和支持,您可以: