listing for R
runon - Runs a command or process on a specific CPU, a processor set
(pset), or a Resource Affinity Domain (RAD)
runon cpu_num command [argument...]
runon -p pset_id [-x] command [argument...]
runon -r rad_id [-r rad_id]... command [argument...]
runon -P pid cpu_num
runon -P pid -p pset_id [-x]
runon -P pid -r rad_id [-r rad_id]...
runon -u -P pid
-h Displays the usage message. The usage message is also displayed
automatically if an error is encountered when executing the command.
Assigns a process to a CPU, processor set, or RAD.
Assigns the process or command to a processor set. You must specify the
processor set identification number (pset_id), which is a unique number
returned by the pset_create command. The pset_id value of the system
default processor set is 0 (zero).
You can specify the -x option only with the -p option.
Binds the process or command to a Resource Affinity Domain (RAD).
More than one -r argument may be specified if the program being run
should be bound to a particular set of RADs. This option is most
appropriate if you want to bind the threads of a large multi-threaded
program to a particular set of RADs. (On a system that runs several
large, multi-threaded programs, it can sometimes help system
performance to bind the threads of different programs to different sets
The operating system software treats systems that do not use NUMA
architecture as single-RAD systems.
-u Unbinds the specified process from a RAD or CPU and, if the process was
assigned to a user-defined processor set, reassigns the process to the
default processor set (pset 0). See DESCRIPTION for information about
the conditions that require you to release one binding before
-x Specifies exclusive use of a processor set. You can include the -x
option only with the -p option.
Specifies the CPU on which the command or process is to run.
Specifies the command that is to be run on the CPU, processor set, or
Specifies one or more arguments to command.
The runon utility does one of the following:
· Starts a command on the specified CPU, processor set (pset) or
Resource Affinity Domain (RAD). The argument operand represents any
options or arguments for the specified command. All the threads
created by the command inherit the specified binding, including
threads created as the result of a fork. If command is a user shell,
then all processes launched from that shell inherit the specified
· Assigns a process to the specified CPU, RAD, or processor set.
If the process is already bound to a CPU or a RAD, you must first
unbind the process by using a command with the -u option.
The form of the runon command that assigns a process to processor set
is equivalent to the pset_assign_pid command.
The runon utility does not support assignments of processes or commands to
resources that are not currently available. In other words, an error is
returned if you try to start a program or reassign a running process to:
· A CPU that is offline or that is bound exclusively to another process
· A RAD or processor set that is empty
· A RAD or processor set in which all CPUs are either offline or
exclusively bound to other processes
If a process is currently running on a specific CPU, RAD, or processor set
and you want to change where the process is running, you might have to
unbind the process first. Unbinding a process (using a command with the -u
option) is a necessary first step only if the new assignment will be
outside the boundaries of the RAD or processor set where the process is
For example, assuming a NUMA system for which no CPUs are assigned to
user-defined processor sets, if the process was started on one RAD (or a
specific CPU in that RAD) and you want to assign the process to another RAD
(or a specific CPU in another RAD), you must first use the runon -u command
to unbind the process.
If the process being unbound is running in a user-defined processor set,
the process will automatically be reassigned to the default processor set
(pset 0) when it is unbound. At that point, you can bind the process only
to CPUs and RADs included in pset 0 or assign the process to another
processor set. So, if you want to bind that process to a RAD or CPU in a
processor set other than pset 0, you must first assign the process to the
other processor set by using the runon -P pid -p pset_id command. Only then
can you use a runon command that assigns the process to a RAD or specific
CPU in the new processor set.
Commands: pset_assign_cpu(1), pset_assign_pid(1), pset_create(1),
listing for R