Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to set process affinity without dedicating a CPU pool?

jimklimovNov 16 2010 — edited Nov 18 2010
Hello, experts.

I want to set CPU affinity for a certain process (to allow its execution on either a single specified vCPU or context switching between several specified vCPUs).

The only documented method I've found so far is to create a processor set and then a processor pool with pooladm. My problem with this solution is that the vCPUs involved become dedicated for tasks assigned to this pool and not usable for any other tasks (which remain in the default pool).

Is there a less restrictive solution in Solaris 10 which would behave like Linux's "taskset" or Windows' "start /AFFINITY" - allowing other processes to share the vCPU?

For those interested in the background: I have an SMP machine and a VirtualBox VM with 1 CPU, which is eating too much physical CPU time for its near-zero workload. One of the suggestions was that VBox processes are quite heavy for process migration (CPU cache repopulation, etc.) and the process should be constrained to one vCPU (a CPU core in my case). While the pooladm approach helped, it consumed the whole vCPU and I'd like that to be usable for other tasks when the VM is truly idling.

TIA,
//Jim
This post has been answered by 781486 on Nov 16 2010
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 16 2010
Added on Nov 16 2010
6 comments
1,552 views