HPlogo HP-UX Reference > N

nsysmap(5)

Tunable Kernel Parameters
HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

nsysmap, nsysmap64 — number of entries in a kernel dynamic memory allocation map

VALUES

Default

8400

Allowed Values

Any positive value.

In practice, very small values will likely cause a panic during boot (or soon after) and very large values are probably unnecessary. Changing the tunable from the default is only necessary under certain conditions.

DESCRIPTION

This value sizes the kernel dynamic memory resource map, an array of address/length pairs that describe the free virtual space in the kernel's dynamic address space.

This array has historically been statically-sized. That means certain pathological workloads that fragment the kernel address space will result in too many entries for the array. Rather than panicking when this condition occurs, the system throws away the last entry, which results in "leaked" kernel virtual address space. If this overflow happens often enough, the system eventually runs out of virtual space and will panic with the following message:

kalloc: out of virtual space.

By making the map size tunable, the system can automatically scale the map size according to the system workload size and avoid this problem. If the automatic scaling does not work, you can hand-tune to fit a particular workload. When the default value is overridden, the kernel may increase the value beyond the your specification depending on the system size.

There are different tunables for 32- and 64-bit kernel because the 64-bit kernel has more virtual address space. The nsysmap tunable controls 32-bit kernels and the nsysmap64 tunable controls 64-bit kernels.

Who Is Expected to Change This Tunable?

Only those experiencing the resource map overflow will need to modify this tunable.

Restrictions on Changing

Changes to this tunable take effect at the next reboot.

When Should the Value of This Tunable Be Raised?

The following message will appear on the console when the resource map overflow occurs: sysmap{32|64}: rmap ovflo, lost [X,Y).

If this happens only occasionally, no action is necessary. If this happens with any sort of frequency, the tunable should be increased, or the following panic message may occur:

kalloc: out of kernel virtual space.

When increasing nsysmap{32|64}, doubling the tunable value is a reasonable rule of thumb. If the problem persists after doubling the tunable several times from the default, there is likely to be a more serious kernel problem, and you should contact HP support to investigate.

What Are the Side Effects of Raising the Value of This Tunable?

Kernel memory use increases very slightly. Depending on the workload, if the tunable is quite large, the performance of kernel memory allocation may be affected.

When Should the Value of This Tunable Be Lowered?

Lowering this tunable from the default is risky, in all probability unnecessary, and should only be done after first consulting HP support.

What Are the Side Effects of Lowering the Value of This Tunable?

A much higher probability of resource map overflows eventually leading to a kernel panic.

What Other Tunables Should Be Changed at the Same Time?

None.

WARNINGS

All HP-UX kernel tunable parameters are release specific. This parameter may be removed or have its meaning changed in future releases of HP-UX.

Installation of optional kernel software, from HP or other vendors, may cause changes to tunable parameter values. After installation, some tunable parameters may no longer be at the default or recommended values. For information about the effects of installation on tunable values, consult the documentation for the kernel software being installed. For information about optional kernel software that was factory installed on your system, see HP-UX Release Notes at http://docs.hp.com.

AUTHOR

nsysmap and nsysmap64 were developed by HP.