系统管理指南:高级管理

系统崩溃疑难解答

如果运行 Oracle Solaris OS 的系统崩溃,请向服务提供商提供尽可能多的信息,包括故障转储文件。

系统崩溃时应执行的操作

要记住的最重要的事情如下:

  1. 记录系统控制台消息。

    如果系统崩溃,则使其重新运行可能是最紧迫的事情。但是,在重新引导系统之前,请先检查控制台屏幕上的消息。这些消息可能有助于了解导致崩溃的原因。即使系统自动重新引导并且控制台消息已从屏幕上消失,仍然可以通过查看系统错误日志(/var/adm/messages 文件)来检查这些消息。有关查看系统错误日志文件的更多信息,请参见如何查看系统消息

    如果系统频繁发生崩溃并且无法确定其原因,请收集可从系统控制台或 /var/adm/messages 文件中获取的所有信息,并准备好以供客户服务代表检查。有关要为服务提供商收集的疑难解答信息的完整列表,请参见系统崩溃疑难解答

    如果系统在崩溃后无法成功重新引导,请参见第 18 章

  2. 同步磁盘并重新引导。


    ok sync
    

    如果系统在崩溃后无法成功重新引导,请参见第 18 章

查看系统崩溃后是否生成了系统故障转储。缺省情况下,会保存系统故障转储。有关故障转储的信息,请参见第 17 章

收集疑难解答数据

请回答以下问题,以帮助隔离系统问题。有关收集崩溃的系统的疑难解答数据的信息,请参见系统崩溃疑难解答核对表

表 14–1 确定系统崩溃数据

问题 

说明 

是否可以重现问题?

这一点很重要,因为在调试很难的问题时,可重现的测试案例是必不可少的。通过重现问题,服务提供商可以使用特殊设备构造内核,以触发、诊断和更正错误。 

是否使用了任何第三方驱动程序?

具有相同权限的多个驱动程序在内核所在的同一地址空间中运行,如果这些驱动程序存在错误,则会导致系统崩溃。 

系统在崩溃之前正在执行什么操作?

如果系统在执行异常的操作,例如运行新的负荷测试或遇到特别高的负荷,则可能导致系统崩溃。 

在系统崩溃之前,是否有任何异常的控制台消息?

有时,系统会在实际崩溃前显示故障信号,此信息通常很有用。 

是否向 /etc/system 文件中添加了任何调优参数?

有时,调优参数(如增大共享内存段,以使系统尝试分配比实际拥有内存更多的内存)会导致系统崩溃。 

问题是在最近开始的吗?

如果是这样,问题是否与对系统的更改同时出现?例如新的驱动程序、新软件、不同工作负荷、CPU 升级或内存升级。