IBM Support

DMPCHK_TOOSMALL error in PowerVM Virtual I/O Server (VIOS)

Question & Answer


Question

How can I correct DMPCHK_TOOSMALL error in PowerVM Virtual I/O Server (VIOS)?

Cause

The size of the dump device is too small and should be increased.
LABEL:          DMPCHK_TOOSMALL
IDENTIFIER:     E87EF1BE
Date/Time:       Tue May 18 15:00:00 CDT 2021
Sequence Number: 74
Machine Id:      00F9931B4C00
Node Id:         VIOS
Class:           O
Type:            PEND
WPAR:            Global
Resource Name:   dumpcheck
Description
The largest dump device is too small.
Probable Causes
Neither dump device is large enough to accommodate a system dump at this time.
        Recommended Actions
        Increase the size of one or both dump devices.
Detail Data
Largest dump device
lg_dumplv                                                                                   
Largest dump device size in kb
     1048576
Current estimated dump size in kb
     1231605

Answer

This applies to Virtual I/O Server version 3.1.
When an unexpected system halt occurs, the system dump facility automatically copies selected areas of kernel data to the primary dump device (a logical volume name of type "sysdump").
There are two dumps devices (a primary and a secondary).  When the Virtual I/O Server is installed, the primary dump device, lg_dumplv, is automatically configured.  The default secondary dump device is /dev/sysdumpnull. This is a null device and any dump written to this device is lost.
(The following sample output was obtained from ioslevel 3.1.2.21.)
Login to the Virtual I/O Server as padmin.
To list the logical volume name of type "sysdump" in rootvg, run:
$ lsvg -lv rootvg|grep sysdump
lg_dumplv           sysdump    2       2       1    open/syncd    N/A
The first numter is the LPs
To view information about the current dump devices, run:
$ oem_setup_env
# sysdumpdev -l
primary              /dev/lg_dumplv
secondary            /dev/sysdumpnull
copy directory       /var/adm/ras
forced copy flag     TRUE
always allow dump    FALSE
dump compression     ON
type of dump         fw-assisted
full memory dump     disallow
Notice the by default "always allow dump" is FALSE.
When the system is managed by a Hardware Management Console, the hypervisor tends to ignore this setting and will write out a dump to the dump device.
The primary dump device created during the install, may not be large enough for a complete dump.  To determine how large the current primary dump device is, run:
# lslv lg_dumplv
LOGICAL VOLUME:     lg_dumplv              VOLUME GROUP:   rootvg
LV IDENTIFIER:      00f9931b00004c0000000179803f2cc7.13 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       opened/syncd
TYPE:               sysdump                WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        512 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                2                      PPs:            2
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    32
MOUNT POINT:        N/A                    LABEL:          None
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
ENCRYPTION:         no
Look at the "LPs" and "PP SIZE" and multiply these values to get the dump device size in megabytes (MB).  In this example, lg_dumplv is 1024 MB or 1 GB (2 LPs x 512 MB PP size).
Next, determine how large the dump device for your machine should be.
To view an estimate of how large the dump device should be, run:
# sysdumpdev -e
0453-041 Estimated dump size in bytes: 1293691125
Notice it will return a value in bytes, 1293691125, which equates to 1233.76 megabytes
(Divide the number of bytes by 1024 to convert to kilobytes. Then again by 1024 to convert to megabytes).
NOTE: This value will be what the current running VIOS would require. This value can change based on the VIOS workload. It is best to run this command when the VIOS is under its heaviest work load.
The primary dump device should be a size that is greater than the value returned.  In this example, larger than 1234 MB.
To increase the dump device size, it will need to be done in multiples of the PP size (in this example, in multiples of 512 MB). 
Use extendlv command to increase lg_dumplv.  In this example, increasing the dump device by 1 LP (rootvg PP size is 512 MB) will be more make the final dump device size 1536 MB, which is above the estimated value returned by "sysdumpdev -e". 

# exit         (oem_setup_env back to padmin shell)
$ extendlv lg_dumplv 1        
$ lsvg -lv rootvg|grep sysdump 
lg_dumplv           sysdump    3       3       1    open/syncd    N/A
LPs is now 3.

[{"Type":"SW","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSPHKW","label":"PowerVM Virtual I\/O Server"},"ARM Category":[{"code":"a8m50000000L0KXAA0","label":"PowerVM VIOS-\u003ESYSTEM DUMP\/CRASH\/HANG"}],"ARM Case Number":"TS005690465","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1.0;3.1.1;3.1.2"}]

Document Information

Modified date:
20 May 2021

UID

ibm16454585