Index Index for
Section 1
Index Alphabetical
listing for R
Bottom of page Bottom of
page

runon(1)

NAME

runon - Runs a command or process on a specific CPU, a processor set (pset), or a Resource Affinity Domain (RAD)

SYNOPSIS

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 runon -h

OPTIONS

-h Displays the usage message. The usage message is also displayed automatically if an error is encountered when executing the command. -P pid Assigns a process to a CPU, processor set, or RAD. -p pset_id 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. -r rad_id 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 of RADs.) 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 attempting another. -x Specifies exclusive use of a processor set. You can include the -x option only with the -p option.

OPERANDS

cpu-num Specifies the CPU on which the command or process is to run. command Specifies the command that is to be run on the CPU, processor set, or RAD. argument... Specifies one or more arguments to command.

DESCRIPTION

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 binding. · 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 currently running. 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.

SEE ALSO

Commands: pset_assign_cpu(1), pset_assign_pid(1), pset_create(1), pset_info(1), psradm(8) Files: processor_sets(4) Other: numa_intro(3)

Index Index for
Section 1
Index Alphabetical
listing for R
Top of page Top of
page