cpuset, miser_cpuset - cpuset configuration files
A cpuset is defined by a cpuset configuration file and a name. The
cpuset configuration file is used to list the CPUs that are members of
the cpuset and contains any additional parameters needed to define the
cpuset. The file permissions of the configuration file define access to
the cpuset. Every time permissions need to be checked, the current
permissions of the file are used. It is therefore possible to change
access to a particular cpuset, without having to tear it down and
recreate it, simply by changing the access permissions. Read access
allows a user to retrieve information about a cpuset while execute
permission allows the user to attach a process to the cpuset.
The name of the cpuset is a three to eight character string. Queue names
having one or two characters are reserved for use by IRIX.
For information on how to use cpusets in a Trusted IRIX environment, see
the cpuset(1) man page.
The following configuration file describes an exclusive cpuset containing
#cpuset configuration file
CPU 16 [Toc] [Back]
This specification will create a cpuset containing 4 CPUs, and will
restrict those cpus to running threads that have been explicitly assigned
to the cpuset. Jobs running on the cpuset will use memory from nodes
containing the cpus in the cpuset. Jobs running on other cpusets or on
the global cpuset will not use memory from these nodes.
Commands are newline terminated, characters following the comment
delimiter '#' are ignored, case matters, and tokens are separated by
whitespace which is ignored.
The valid tokens are:
EXCLUSIVE [Toc] [Back]
Defines a cpuset to be restricted. It can occur anywhere in the
file. Anything else on the line is ignored.
MEMORY_LOCAL [Toc] [Back]
Threads assigned to the cpuset will attempt to assign memory only
from nodes within the cpuset. Assignment of memory from outside the
cpuset will occur only if no free memory is available from within
the cpuset. No restrictions are made on memory assignment to
threads running outside the cpuset.
MEMORY_EXCLUSIVE [Toc] [Back]
Threads not assigned to the cpuset will not use memory from within
the cpuset unless no memory outside the cpuset is available.
If, at the time a cpuset is created, memory is already assigned to
threads that are already running, no attempt will be made to
explicitly move this memory. If page migration is enabled, the
pages will be migrated when the system detects that most references
to the pages are non-local.
MEMORY_KERNEL_AVOID [Toc] [Back]
The kernel will attempt to avoid allocating memory from nodes
contained in this cpuset. If kernel memory requests cannot be
satisfied from outside this cpuset, this option will be ignored and
allocations will occur from within the cpuset.
WARNING: It is strongly recommended that this option not be used for
most cpuset configurations. A side effect of this option is that
kernel memory allocations become concentrated on the remaining
system nodes, which may in turn degrade system performance. This
option is effective only for certain workload patterns, and could
cause severe performance penalties in other situations. It is
recommended that this option be used only when indicated by SGI
Currently this option prevents only the system buffer cache from
being placed on the specified nodes. Future IRIX releases may
expand the scope of this protection to exclude other kernel memory
allocations from the specified nodes.
This option was introduced in IRIX 6.5.7.
MEMORY_MANDATORY [Toc] [Back]
The kernel will limit all memory allocations to nodes that are
contained in this cpuset. If memory requests cannot be satisfied,
the allocating process will sleep until memory is available. The
process will be killed if no more memory can be allocated. See
POLICY_PAGE [Toc] [Back]
Requires MEMORY_MANDATORY. This is the default policy if no policy
is specified. This policy will cause the kernel to page user pages
to the swap file (see swap(1M)) to free physical memory on the nodes
contained in this cpuset. If swap space is exhausted, the process
will be killed.
POLICY_KILL [Toc] [Back]
Requires MEMORY_MANDATORY. The kernel will attempt to free as much
space as possible from kernel heaps, but will not page user pages to
the swap file. If all physical memory on the nodes contained in
this cpuset are exhausted, the process will be killed.
Specifies a CPU that will be part of the cpuset.
In a cluster environment, the cpuset configuration file should reside on
the root filesystem. If the cpuset configuration file resides on a
filesystem other than the root filesystem and you attempt to unmount the
filesystem, the vnode for the cpuset remains active and the unmount (see
mount(1M) command fails.
Make sure that your workload manager sets the configuration file to
reside on the root filesystem.
IRIX Admin: Resource Administration
PPPPaaaaggggeeee 3333 [ Back ]