编写设备驱动程序

捕获系统崩溃转储

当系统出现紧急情况时,系统会将内核内存的映像写入转储设备。缺省情况下,该转储设备是最合适的交换设备。该转储是系统崩溃转储,它与应用程序生成的核心转储类似。在系统出现紧急情况后进行重新引导时,savecore(1M) 会检查转储设备中是否存在崩溃转储。如果找到转储,savecore 将生成名为 unix.n 的内核符号表的副本。然后,savecore 实用程序将在核心映像目录中转储名为 vmcore.n 的核心转储文件。缺省情况下,核心映像目录为 /var/crash/machine_name。如果 /var/crash 没有足够的空间用于核心转储,系统将显示所需的空间,但不实际保存转储。然后,可针对核心转储和已保存的内核使用 mdb(1)

在 Solaris 操作系统中,缺省情况下会启用崩溃转储。dumpadm(1M) 命令用于配置系统崩溃转储。使用 dumpadm 命令可以验证崩溃转储是否已启用,并确定保存核心转储文件的位置。


注 –

可以阻止 savecore 实用程序填满文件系统,即在要保存转储的目录中添加一个名为 minfree 的文件。在此文件中,指定在 savecore 运行后保持可用的千字节数。如果没有足够的可用空间,则不保存核心转储文件。