On Solaris systems, CPU_AFFINITY accepts a single numeric value, which is interpreted as a processor set number. For example, CPU_AFFINITY 2 configures FairCom DB to run on processor set 2.
Note: To use CPU_AFFINITY under Solaris you need to run the FairCom DB Server with root permission. This because Solaris requires any process using a processor set to have such permission.
To create a processor set on Solaris, use the Solaris command psrset. For example, to create a set comprising processors 4 through 7, use:
psrset -c 4-7
The ID of the newly created processor set is returned:
created processor set ps_id
To bind a process to this processor set, use:
psrset -b ps_id pid
If the process does not have permission to assign itself to the specified processor set (or if an invalid processor set is specified), FairCom DB logs the following message to CTSTATUS.FCS, where <configuration_file_name> is the name of the FairCom DB configuration file, <line_number> is the line number on which the CPU_AFFINITY option was specified, and <error_code> is the system error code returned by the OS.
Configuration error: <configuration_file_name>, line <line_number>: Failed to set CPU affinity: system error code <error_code>.