系统管理指南:网络服务

pstack 命令

此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。请参见 proc(1) 手册页。

以下是检查正在运行的 nfsd 进程的示例。


# /usr/bin/pgrep nfsd

243

# /usr/bin/pstack 243

243:    /usr/lib/nfs/nfsd -a 16

 ef675c04 poll     (24d50, 2, ffffffff)

 000115dc ???????? (24000, 132c4, 276d8, 1329c, 276d8, 0)

 00011390 main     (3, efffff14, 0, 0, ffffffff, 400) + 3c8

 00010fb0 _start   (0, 0, 0, 0, 0, 0) + 5c

此示例显示进程正在等待新的连接请求,这是正常响应。如果栈表明在发出请求之后进程仍在轮询,则此进程可能会被挂起。请遵照如何重新启动 NFS 服务中的说明来解决此问题。请检查NFS 疑难解答过程中的说明来充分验证问题是否是程序已挂起。