|
崩溃的HP-UX系统在调换空间中保存RAM的瞬间映像,重新启动。然后从调换空间拷贝转储映像到/var/adm/crash 中。按照这个步骤,针对您的O/S版本来处理调换映像,然后将该文档结尾处需要的文件用电子邮件发送到HP回复中心以供分析。 =============第一步 转储映像在哪? ============================== 转储映像被保存到下面这行所提示的目录中: /etc/rc.config.d/savecore (10.X): SAVECORE_DIR=/var/adm/crash (缺省目标) 或 /etc/rc.config.d/savecrash (11.00) SAVECRASH_DIR=/var/adm/crash 注意:如果你想控制以后的转储映像到一个更大的文件系统,为他们创建一个新目录,并更新SAVECORE_DIR变量。 现在,确保你有一个转储映像以供分析: # ll /var/adm/crash/c* (or your dump directory) 在10.X上, 您将看到: /var/adm/crash/core.0/INDEX /var/adm/crash/core.0/vmunix.gz /var/adm/crash/core.0/core.0.1.gz /var/adm/crash/core.0/core.0.2.gz ^ suffix increments on successive dumps 在11.00上, 您将看到: /var/adm/crash/crash.1/INDEX /var/adm/crash/crash.1/image.1.1.gz /var/adm/crash/crash.1/image.1.2.gz /var/adm/crash/crash.1/image.1.3.gz /var/adm/crash/crash.1/vmunix.gz ^ suffix increments on successive dumps INDEX 文件和/etc/shutdownlog 包含"panic"语句,如果没有,请`touch /etc/shutdownlog` . 如果系统转储没有在预想的位置,请试着使用下面的方法重新保存转储: 10.X # savecore -vr 11.00 # savecrash -vr 在两种情况下, "invalid dump header" 都是指转储映像已经没了. =============第二步 是否安装了Q4的某个版本? ====================== 有两个版本的Q4,大多数系统上运行的标准版本并不足以分析有关挂起的转储映像问题。Q4的现行的版本(这是一个当安装时并不重新启动系统的补丁程序)可以适用于由于系统挂起造成的系统转储映像崩溃的情况。要确定安装了Q4的哪个版本: # swlist -l fileset | grep -i Q4 您会看到下面的反应之一: OS-Core.Q4 B.10.20 HP-UX Crash Dump Debugger for PA-RISC systems 或者 OS-Core.Q4 B.11.00 HP-UX Crash Dump Debugger for PA-RISC systems (给定O/S的标准版本) 可能会出现一个补丁程序的版本: PHCO_20261.PHCO_20261 B.10.00.00.AA q4 patch version A.11.10c (10.20) 或者 PHCO_20262.Q4 1.0 OS-Core.Q4 (11.00) (在第三步之前会出现一个补丁程序的版本) 如果您的系统没有显示Q4的补丁程序的版本,而且转储是由于挂起造成的,请安装一个版本的补丁程序。 --------------------------------------------------------- 如果您没有任何版本的Q4,请安装它的补丁程序。在补丁中有它的安装指示.您可以从下面的站点中下载合适的版本: ftp://i3107ffs.external.hp.com/hp-ux_patches/s700_800/___ (select 10.X or 11.X) Retrieve PHCO_20262 for 11.0, PHCO_20261 for 10.10 or 10.20 (注意:补丁程序号会在一段时间后被替换) 如果您上网不方便,但是您有安装光盘,您可以安装q4的标准版本: 安装INSTALL media 并确保您能够安装 Q4: # swlist -l fileset -s / | grep Q4 OS-Core.Q4 B.10.10 HP-UX Crash Dump Debugger for PA-RISC systems ^^^^^-This should match OS release. 使用 swinstall 来安装它: # swinstall -vs / OS-Core.Q4 ============= 第三步 ===== 进入转储目录 ======================= 注意: 在Q4中,csh (c-shell) 会引起错误.请使用ksh. # cd (这很重要!) 例如: cd /var/adm/crash/core.0 OR /var/adm/crash/crash.0 ============= 第四步 ===== 对于没有补丁的 Q4 ============================== 如果您的Q4版本由补丁程序,请直接进行第五步. 注意: 对于 10.20, 10.30 或 11.00 DUMPS, 跳到步骤4.5执行这些命令: 4.1) # uncompress /usr/contrib/lib/Q4Lib.tar.Z (ignore the error if this was done previously) 4.2) # tar -xf /usr/contrib/lib/Q4Lib.tar (output goes into your current directory) 4.3) # cp q4lib/sample.q4rc.pl ~/q4rc.pl. ^ ^ Note tilde (^) and letter (el) -not digit 1 4.4) # /usr/contrib/bin/gunzip vmunix.gz (uncompresses the kernel file) 4.5) 对于 10.10版本的O/S, 输入: # /usr/contrib/bin/q4pxdb vmunix (this may complain if vmunix is already preprocessed) 对于10.20 或 10.30 或 11.00版本的O/S, 输入: # /usr/contrib/bin/q4prep -p 4.6) 如果在这些命令中,您遇到了下列信息: "/var: file system full" ... move the core. directory to a file system with adequate (approx. 2x the sum of the core.x.y.gz files) space and start at this point again. 继续输入命令: # q4 -p . \_注意这里的 "." 4.7) 在 q4> 提示符下,输入: trace event 0 > trace 4.8) 在 q4> 提示符下,输入: include analyze.pl NOTE letter "el"_/ 4.9) 在 q4> 提示符下,输入: run Analyze AU >> ana.out 注意: ctrl-c 将会中止 q4 4.10) 在下面的提示符下,输入: exit 跳到第六步 ============= 第五步 ===== 如果您使用的是有补丁的Q4============== 如果您怀疑dump 不是由ServiceGuard (如果装载了)引起的,请跳到5.2 5.1) # nm -xv /usr/lbin/cmcld | grep cl_log_cache 记录hex号以便5.5使用: 例如: cl_log_cache |0x4007a6b8|extern|data |$BSS$ ^^^^^^^^^^ 5.2)按照下面进行输入: # . /usr/contrib/Q4/bin/set_env \___ 注意该行开始的'.' 5.3) 如果在下面的命令中,您遇到信息: "/var: file system full" 将core. 或or crash. 目录移动到有足够可用空间的文件系统中,并从这里开始执行. (足够是指大约c*x.y.gz.文件的2倍) 输入: # /usr/contrib/Q4/bin/q4pxdb vmunix 不要管 “unneccessary" 信息) # /usr/contrib/Q4/bin/q4 -p 5.4)注意: ctrl-c可以中下面的两个命令. 在q4>提示符下输入: run Analyze AU > ana.out (执行这步可能需要几分钟) 在q4>提示符下输入: run WhatHappened -HANG > what.out (执行这步可能需要几分钟) 5.5) 如果您怀疑dump 是由ServiceGuard引起的,: 在q4>提示符下输入 include cmcld.pl 对于SG A.10.10 版本和上面的: q4> run PrintCmcldLog > cmcld.log 对于SG 比A.10.10早的版本: q4> run PrintCmcldLogOLD > cmcld.log 5.6) 在q4>提示符下输入 exit ============= 第六步===== 收集和发送数据 =========================== 检查是否硬件问题引起了系统崩溃 在提示符下输入 # grep HPMC ana.out 如果您看到了下面的信息之一,那么处理器检测到了系统错误.如果有/var/tombstones 存在,最近的文件 (ts99)会有于崩溃事件对应的硬件错误代码数据戳.对于您的CE. Log硬件调用解决崩溃原因很有用. "crash event was an HPMC" 或 "Crash Event 0 (HPMC, struct crash_event_table_struct..." 生成补丁列表: 对于10.X # /usr/sbin/swlist -l product | grep PH | |
| 文章评论 | |||