swchunk.5 (2010 09)

s
swchunk(5) swchunk(5)
(Tunable Kernel Parameters)
NAME
swchunk - swap chunk size in 1 KB blocks
VALUES
Default
2048 blocks
Allowed values
Minimum:
2048 blocks
Maximum:
65536 blocks
DESCRIPTION
Swap space in the kernel is managed using ’chunks of physical device space. These chunks contain one
or more (usually more) pages of memory, but provide another layer of indexing (similar to inodes in file
systems) to keep the global swap table relatively small, as opposed to a large table indexed by swap page.
swchunk controls the size in physical disk blocks (which are defined as 1 KB) for each chunk. The total
bytes of swap space manageable by the system is
swchunk * 1 KB * 2,147,483,648 (the system maximum
number of swap chunks in the swap table). Note that the minimum (or default) value of
swchunk there-
fore allows 4,096 TB of swap space.
The way to think of
swchunk is not as the size of the I/O transactions in the swap system (in disk
blocks), but as the number of blocks that will be placed on one swap device (or file system) before moving
to the next device (assuming all priorities are equal). This spreads the swap space over any devices and
is called swap interleaving. Swap interleaving spreads out the swap over many devices and reduces the
possibility of one single device becoming a bottleneck for the entire system when swap usage is heavy.
Who is Expected to Change This Tunable?
This tunable should only be modified by those with a complete knowledge of both kernel behavior and
underlying device hardware.
Restrictions on Changing
Changes to this tunable take effect at the next reboot.
When Should the Value of This Tunable Be Raised?
If the system owner wishes to add more swap to the system, but the additional swap chunks needed are
unavailable, raising this tunable will work around the problem. By increasing the size of each chunk,
fewer total chunks are needed.
What Are the Side Effects of Raising the Value?
The second level of the swap table (used to track pages within a chunk) will increase, resulting in more
memory used by the kernel. If
swchunk is being increased to allow for mapping of a larger swap space,
increased memory usage by the kernel to track the swap space is unavoidable.
This means that more swap is allocated to each device (or file system) using the round-robin interleaving
scheme when all priorities are equal. Increasing
swchunk when the number of chunks needed to
represent the system swap space is less than 2,147,483,648 could hinder system performance by creating
unneeded I/O bottlenecks. For example, two pages that were in different chunks using the smaller value
which were previously on different swap devices and thus accessible independently of one another (with
no read head or controller issues) are now on the same device and cannot be read concurrently, resulting
in a longer access time for the second page.
When Should the Value of This Tunable Be Lowered?
If the amount of swap space mappable by the system is much larger than the total amount of swap space
which is attached (or going to be attached) to the system, which is calculable by multiplying 2,147,483,648
*
swchunk* 1 KB, then kernel memory usage can be reduced by lowering swchunk to fit the actual
swap space.
What Are the Side Effects of Lowering the Value?
It may have to be raised back if more swap is added to the system and there is not enough room in the
swap table to allow for the increased space. If this is not the case, then there is a finer grain of interleav-
ing on the system (assuming there is more than one swap device) that can provide a performance gain
under heavy swap usage.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)