Syntax: | worker_cpu_affinity worker_cpu_affinity |
---|---|
Default: | — |
Context: | main |
Binds worker processes to the sets of CPUs. Each CPU set is represented by a bitmask of allowed CPUs. There should be a separate set defined for each of the worker processes. By default, worker processes are not bound to any specific CPUs.
For example,
1 2 | worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; |
binds each worker process to a separate CPU, while
1 2 | worker_processes 2; worker_cpu_affinity 0101 1010; |
binds the first worker process to CPU0/CPU2, and the second worker process to CPU1/CPU3. The second example is suitable for hyper-threading.
The special value auto
(1.9.10) allows binding worker processes automatically to available CPUs:
1 2 | worker_processes auto; worker_cpu_affinity auto; |
The optional mask parameter can be used to limit the CPUs available for automatic binding:
1 | worker_cpu_affinity auto 01010101; |
The directive is only available on FreeBSD and Linux.
Please login to continue.