Function to get/set the process's CPU affinity mask. Affinity mask allows binding
a process to a specific core(s) within the machine.
setaffinity(cpus = 1:ncores(), verbose = FALSE)
getaffinity_count(verbose = FALSE)
getaffinity(verbose = FALSE)
Which cpu cores to restrict to. Must be vector of integers between 1
print some C output (TRUE/FALSE)
Setting a process afinity allows for restricting the process to only use certain
cores in the machine. The cores are indexed by the operating system as 1 to ncores.
One can lookup ncores using ncores(). Calling setaffinity with no arguments resets
the process to use any of the available cores.
Note that setaffinity is different from setting r_limit values in the sense that
it is not a one-way process. An unprivileged user can change the process affinity
to any value. In order to 'lock' an affinity value, one would have to manipulate
Linux capability value for CAP_SYS_NICE.
Jeroen Ooms (2013). The RAppArmor Package: Enforcing Security Policies
in R Using Dynamic Sandboxing on Linux. Journal of Statistical Software,
55(7), 1-34. http://www.jstatsoft.org/v55/i07/.