有时,为了排除故障,必须强制实施崩溃转储并重新引导系统。缺省情况下将启用 savecore 功能。
有关系统故障转储的更多信息,请参见《系统管理指南:高级管理》中的第 17 章 “管理系统故障转储信息(任务)”。
如果您不能使用 reboot -d 或 halt -d 命令,则可以使用内核调试器 kmdb 来强制实施故障转储。必须已在引导时或使用 mdb -k 命令装入了内核调试器,以下过程才能正常进行。
必须处于文本模式下,才能访问内核调试器 (kmdb)。因此,首先要退出任何窗口系统。
访问内核调试器。
用于访问调试器的方法因访问系统所使用的控制台类型而异。
如果使用本地连接的键盘,请按 F1–A 组合键。
如果使用串行控制台,请使用适合于该类型的串行控制台的方法来发送中断信号。
此时将显示 kmdb 提示符。
要引发崩溃,请使用 systemdump 宏。
[0]> $<systemdump |
此时将显示应急消息,保存崩溃转储,随后系统将重新引导。
通过在控制台登录提示符下登录来确认系统已重新引导。
本示例说明如何使用 halt -d 和 boot 命令强制实施基于 x86 的系统 neptune 的崩溃转储和重新引导。使用此方法强制实施系统崩溃转储。随后以手动方式重新引导系统。
# halt -d 4ay 30 15:35:15 wacked.Central.Sun.COM halt: halted by user panic[cpu0]/thread=ffffffff83246ec0: forced crash dump initiated at user request fffffe80006bbd60 genunix:kadmin+4c1 () fffffe80006bbec0 genunix:uadmin+93 () fffffe80006bbf10 unix:sys_syscall32+101 () syncing file systems... done dumping to /dev/dsk/c1t0d0s1, offset 107675648, content: kernel NOTICE: adpu320: bus reset 100% done: 38438 pages dumped, compression ratio 4.29, dump succeeded Welcome to kmdb Loaded modules: [ audiosup crypto ufs unix krtld s1394 sppp nca uhci lofs genunix ip usba specfs nfs md random sctp ] [0]> kmdb: Do you really want to reboot? (y/n) y |