20.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 ...
其它资源
-
系统上的
gstack
man page - GNU 调试器(GDB)
用于报告虚拟机问题并提供日志的其他资源
要请求额外的帮助和支持,您可以:
使用 redhat-support-tool 命令行选项、Red Hat Portal UI 或 FTP 的方法引发服务请求。
- 要报告问题并请求支持,请参阅创建支持问题单。
提交服务请求时上传 SOS 报告以及日志文件。
这样可保证红帽支持工程师可以参考所需的全部诊断信息。
- 有关 SOS 报告的更多信息,请参阅 什么是 SOS 报告以及如何在 Red Hat Enterprise Linux 上创建它?
- 有关附加日志文件的详情,请参考 如何给红帽支持提供文件?