The Question is:
I have a 6 processor VAX 7700 and I want to restrict a process to a specific
cpu and have nothing else run on that cpu. How is this accomplished?
The Answer is :
The following applies to OpenVMS Alpha.
It is often best not to do this, as dedicating applications to
processors can often acomplish little more than a political
victory -- more often than not, dedicating processes can reduce
aggregate throughput, particularly when the specified resources
are not available or when access to available additional system
resources is possible but not use is not authorized -- in the
former case, the job(s) will remain stalled, and in the latter
case the resources will remain idle. (Without this restriction,
OpenVMS would reschedule all computable jobs onto the available
That said, to keep a process locked on processor 5 (in a system
where processors are assumed to be numbered 0 through 5), within
the context of the process itself use;
$ set process /affinity /permanent /set=5 /clear=(0,1,2,3,4)
The /permanent qualifier is crucial for the setting to remain in effect
across image rundown. Although the /clear qualifier is optional, the
OpenVMS Wizard typically recommends its use as the SET mask will
For example, to keep a process on processor 4, outside the context of the
$ set process /affinity /set=4 /clear=(0,1,2,3,5) /identification=PID
where PID is the process identification of the target process.
This command requires the ALTPRI privilege. This command may also
require the GROUP or WORLD privilege, depending on the UIC owner of
the current process and the UIC owner of the target process.
For those of you running on certain OpenVMS Alpha systems -- and
those systems with NUMA support -- that are interested in this and
similar process-scheduling topics, you will want to explore the DCL
$ set process /rad
Process affinity support is not available on OpenVMS VAX.