问题描述
我的系统挂起 (hang) 的时候,我执行了一个 TOC(Transfer_Of_Control)以强制进行内存转储,但在重新引导之后 savecrash 显示没有可保存的有效转储。或者在系统崩溃时,未保存任何转储。
配置信息
HP UNIX 11.00 和 11.11
解决方法
转储概念
系统硬件检测错误 (HPMC)、操作系统引起的恐慌 (Panic) 以及系统挂起 (hang) 必须提供有关失败原因的信息,这样才能制定出一个解决方案。HPUX 使用的方法需要创建系统内存转储、发生故障时的 Kernel 状态快照,HP 解决方案从这些内容进行分析才能提供根本的原因以及补救措施。 Kernel 产生于 /stand/system 文件,它通常包含一个到转储设备 (默认状态下为 Swap Logical Volume) 的矢量 (指针)。进行引导时,该矢量将拷贝到不可变内存中。假如发生了前面提到的故障,硬件会将来自可疑操作系统的处理重新定向到固件例程 (firmware routine),以保存该转储。这些固件副本会将部分 RAM 拷贝到该转储矢量指向的目标磁盘中。
对于可疑操作系统,转储之后会进行重新引导。
重新引导过程中执行的 /sbin/init.d/savecrash 会导致 savecrash 命令检查该转储设备是否存在有效转储 (注重 1)。假如存在有效转储,savecrash 则会将其拷贝到一个预先确定的文件系统,在此系统中用户可以对这些数据进行操作以提取有用信息,假如不存在,savecrash 则会退出。
转储失败的原因可能是:
o Kernel 中没有转储矢量o 有缺陷的 PDC 固件,即无法正确执行 TOCo Kernel 中转储矢量已损坏,即无效堆栈设备o 有缺陷的转储设备,即磁盘无法接收 RAM 快照o 电源或其他抢占转储保存例程的其它硬件故障o 堆栈已损坏,通常是由于硬件故障引起的Kernel 中没有转储矢量
# lvlnboot -v /dev/vg00Boot Definitions for Volume Group /dev/vg00:Physical Volumes belonging in Root Volume Group:/dev/dsk/c1t5d0 (52.5.0) -- Boot Disk/dev/dsk/c1t6d0 (52.6.0) -- Boot DiskBoot: lvol1 on: /dev/dsk/c1t6d0Root: lvol3 on: /dev/dsk/c1t6d0Swap: lvol2 on: /dev/dsk/c1t6d0Dump: lvol2 on: /dev/dsk/c1t6d0, 0注重 3: savecrash (11.X) = savecore (10.X HPUX)
新闻热点
疑难解答