9.5 Including Page Classes in the Crashdump Configuration

     

9.5 Including Page Classes in the Crashdump Configuration

With our crashdump configuration, we need to ensure all of the useful data that was in memory at the time of the system crash is saved. The important phrase in the previous sentence is useful data . Prior to HP-UX 11.0, a crashdump would have constituted a complete image of main memory at the time of the crash. This meant that the dump space we configured had to be at least as big as main memory. In fact, due to the organization of the dump, it was suggested to make the dump space at least 10 percent bigger than main memory. Imagine the amount of dump space we would have had to reserve on a 64-way, 512GB Integrity Superdome partition. Now the default behavior of HP-UX at the time of a crash is to dump only the data elements stored in memory. This includes kernel data pages as well as data pages relating to user processes. To see our current crashdump configuration, we use the crashconf command:

 

 root@hpeos003[]  crashconf  CLASS          PAGES  INCLUDED IN DUMP  DESCRIPTION --------  ----------  ----------------  ------------------------------------- UNUSED        157446  no,  by default   unused pages USERPG         25089  no,  by default   user process pages BCACHE         35796  no,  by default   buffer cache pages KCODE           2581  no,  by default   kernel code pages   USTACK           839  yes, by default   user process stacks     FSDATA           193  yes, by default   file system metadata     KDDATA         26932  yes, by default   kernel dynamic data     KSDATA         13268  yes, by default   kernel static data   Total pages on system:            262144   Total pages included in dump:      41232   DEVICE        OFFSET(kB)   SIZE (kB)  LOGICAL VOL.  NAME ------------  ----------  ----------  ------------  ---------------------   31:0x01f000      117600     2097152   64:0x000002  /dev/vg00/lvol2   ----------                              2097152 root@hpeos003[] 

The difficult task is knowing how big these data elements are going to be and which ones to include. As far as the page classes to include, the default list that you can see above should be sufficient; we can always get a copy of the kernel code from /stand/vmunix , and user program code is available via the programs stored in the filesystem if we need it. In some instances, we may be requested (by our local HP Response Center) to include more page classes into our dump configuration in order for the Response Center engineers to diagnose a particular problem. Adding page classes can be done online and takes immediate effect. As an example, we may have been experiencing system crashes on a 64-bit machine running 32-bit code. Sometimes, we need to include kernel code pages ( KCODE ) in a crashdump for these types of situations because the /stand/vmunix file may be slightly different than the kernel image in memory. Only when prompted by a Response Center engineer would I include KCODE pages in with our crashdump. We simply use the crashconf command to add pages classes in the dump configuration:

 

 root@hpeos003[]  crashconf -i KCODE  root@hpeos003[]  crashconf  Crash dump configuration has been changed since boot. CLASS          PAGES  INCLUDED IN DUMP  DESCRIPTION --------  ----------  ----------------  ------------------------------------- UNUSED        157691  no,  by default   unused pages USERPG         25023  no,  by default   user process pages BCACHE         35641  no,  by default   buffer cache pages   KCODE           2581  yes, forced       kernel code pages   USTACK           815  yes, by default   user process stacks FSDATA           209  yes, by default   file system metadata KDDATA         26916  yes, by default   kernel dynamic data KSDATA         13268  yes, by default   kernel static data Total pages on system:            262144 Total pages included in dump:      43789 DEVICE        OFFSET(kB)   SIZE (kB)  LOGICAL VOL.  NAME ------------  ----------  ----------  ------------  -------------------------  31:0x01f000      117600     2097152   64:0x000002  /dev/vg00/lvol2                            ----------                              2097152 root@hpeos003[] 

This change was immediate, and the " Total pages included in dump " has gone up accordingly . If this change is to survive a reboot, we must edit the file /etc/rc.config.d/crashconf :

 

 root@hpeos003[]  vi /etc/rc.config.d/crashconf  #!/sbin/sh # @(#)B.11.11_LR # Crash dump configuration # # # CRASHCONF_ENABLED: Configure crash dumps at boot time. CRASHCONF_ENABLED=1 # CRASH_INCLUDED_PAGES: A blank-separated list of page classes that must be #               included in any dump. crashconf -v will give you a list of #               valid page classes. Specify "all" to force full dumps.   CRASH_INCLUDED_PAGES="KCODE"   ... root@hpeos003[] 

Additionally, we should monitor our system over a period of time, especially during the time when the system has most processes running in order to monitor how big the crashdump will be by monitoring the " Total pages included in dump " from the crashconf output. From the output above, we can see the size of a crashdump on this system would be 41,232 pages in size. A page being 4KB means the dump is approximately 160MB currently. Typically, an HP-UX system running only HP-UX will have an initial dump requirement of 10-20 percent the size of main memory. The only dump device configured is /dev/vg00/lvol2 , which is 2GB in size; that's more than enough to store our current crashdump. Should it get to a point were the crashdump wouldn't fit in the dump device(s), we need to configure more dump space.



HP-UX CSE(c) Official Study Guide and Desk Reference
HP-UX CSE(c) Official Study Guide and Desk Reference
ISBN: N/A
EAN: N/A
Year: 2006
Pages: 434

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net