User Tools

Site Tools


sda_-_how_do_i_find_who_is_trying_to_allocate_or_deallocate_nonpaged_pool
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


sda_-_how_do_i_find_who_is_trying_to_allocate_or_deallocate_nonpaged_pool [2019/02/12 19:54] (current) – created mmacgregor
Line 1: Line 1:
 +
 +==== Introduction ====
 +
 +You notice that NONPAGED POOL expansion has been occurring on the system.  How would you determine who has done the most recent allocations?
 +
 +==== Details ====
 +
 +First you will need to have one of these two SYSGEN parameters enabled.  SYSTEM_CHECK or POOLCHECK.
 +
 +<code>
 +  SYSTEM_CHECK
 +
 +       SYSTEM_CHECK investigates intermittent system failures by
 +       enabling a number of run-time consistency checks on system
 +       operation and recording some trace information.
 +
 +       Enabling SYSTEM_CHECK causes the system to behave as if the
 +       following system parameter values are set (although the values
 +       of the following parameters are not actually changed):
 +
 +       Parameter        Value         Description
 +
 +       BUGCHECKFATAL    1             Crash the system on nonfatal
 +                                      bugchecks.
 +
 +       POOLCHECK        %X616400FF    Enable all poolchecking, with
 +                                      an allocated pool pattern
 +                                      of %x61616161 ('aaaa') and
 +                                      deallocated pool pattern of
 +                                      x64646464 ('dddd').
 +
 +       MULTIPROCESSING  2             Enable full synchronization
 +                                      checking.
 +
 +       While SYSTEM_CHECK is enabled, the previous settings of the
 +       BUGCHECKFATAL and MULTIPROCESSING parameters are ignored.
 +       However, setting the parameter POOLCHECK to a nonzero value
 +       overrides the setting imposed by SYSTEM_CHECK.
 +
 +       Setting SYSTEM_CHECK creates certain image files that are capable
 +       of the additional system monitoring. These image files are
 +       located in SYS$LOADABLE_IMAGES and can be identified by the
 +       suffix _MON. For information about the type of data checking
 +       performed by SYSTEM_CHECK, see the description of the ACP_
 +       DATACHECK parameter. For information about the performance
 +       implications of enabling SYSTEM_CHECK, see OpenVMS Performance
 +       Management.
 +       </code>
 +
 +<code>
 +  POOLCHECK
 +
 +       This special parameter is used by HP and is subject to change. Do
 +       not change this parameter unless HP recommends that you do so.
 +
 +       POOLCHECK is used to investigate frequent and inexplicable
 +       failures in a system. When POOLCHECK is enabled, pool-checking
 +       routines execute whenever pool is deallocated or allocated.
 +
 +       Two loadable forms of SYSTEM_PRIMITIVES.EXE are available at
 +       boot time. The default image, which contains no pool-checking
 +       code and no statistics maintenance, is loaded when POOLCHECK
 +       is set to zero. When POOLCHECK is set to a nonzero value, the
 +       monitoring version of SYSTEM_PRIMITIVES.EXE, which contains both
 +       pool-checking code and statistics maintenance, is loaded.
 +
 +       Setting the SYSTEM_CHECK parameter to 1 has the effect of setting
 +       POOLCHECK to %X616400FF. For further information about pool
 +       checking, see the OpenVMS VAX Device Support Manual, (which is
 +       archived).
 +
 +       POOLCHECK is a DYNAMIC parameter. However, for a change in its
 +       value to have any effect, POOLCHECK must be non-0 at boot time
 +       (to load the monitoring version of SYSTEM_PRIMITIVES.EXE).</code>
 +
 +NOTE:  SYSTEM_CHECK is not dynamic and would require a system reboot to take effect.  POOLCHECK is dynamic and can be enabled on the live system.
 +
 +Booting the system with POOLCHECK non-zero or SYSTEM_CHECK = 1 loads the monitoring version of the system_primitives loadable image. This records allocations/deallocations of nonpaged pool in a ring buffer whose size is controlled by the SYSGEN parameter NPAG_RING_SIZE. This recording takes place regardless of the pool poisoning/checking enabled bits in the lower bit positions of the poolcheck parameter. To display these allocations/deallocations use this command:
 +
 +SDA> SHOW POOL /RING
  
sda_-_how_do_i_find_who_is_trying_to_allocate_or_deallocate_nonpaged_pool.txt · Last modified: 2019/02/12 19:54 by mmacgregor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki