在 Solaris 10 上,当系统挂起时,您通常如何进行故障排除。例如 - 当我运行命令 metastat 并按 Enter 键时,系统挂起。按 Control C 键,它就会出现,然后再次运行 metastat 并按 Enter 键,系统就会挂起。请告诉我如何排除此故障以及我可以检查哪些日志并举例说明。
谢谢
答案1
Truss 是用于快速故障排除的绝佳命令,但 Solaris 对于此类工作具有决定性的优势:跟踪。虽然需要一些时间才能完全掌握它,但你再也不需要思考“它是什么正在做?“
答案2
我会先truss
命令和日志文件,您应该监视以下文件(它们记录所有系统问题,如磁盘错误,交换错误,NFS 问题等):
tail -f /var/adm/SYSLOG
tail -f /var/adm/messages
tail -f /var/log/syslog
答案3
命令挂起和系统挂起有区别:
- 如果系统挂起,所有进程都会挂起
- 如果命令挂起,则只有它受到影响
你的情况似乎是命令挂起,可以通过以下方法进行故障排除truss
- 只需运行
truss -f command
您将看到它在做什么以及它将挂起哪个系统调用。该-f
标志将指示truss
还要跟踪子进程。
由于您提到您正在运行,metastat
因此很可能是磁盘问题,因此寻找有关故障磁盘的信息/var/adm/messages
是一个开始的地方。