pstack 命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的所有者或由 root 运行。您可以使用 pstack 命令来确定进程挂起的位置。允许该命令带有的唯一选项是要检查的进程的进程 ID。有关 pstack 命令的更多信息,请参见 proc(1) 手册页。
示例 6-2 显示 NFS 进程的栈跟踪# /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 故障排除的更多信息,请参见NFS 故障排除过程。