質問

Pretty straightforward question - is there a way to set the CPU affinity via PHP? Any of the following will do:

  • Setting the affinity of the current process via a PHP call.
  • Setting the affinity of a specific PID via a PHP call.
  • As a last resort, setting the affinity of a specific PID via a command-line tool.

The only option I've found so far is the last one, using a tool named schedutils, and it seems it may only be supported on more recent kernels.

Schedutils

役に立ちましたか?

解決

The way to set the CPU affinity is with the sched_setaffinity C function. It's not available through the standard PHP API so you probably would have to write an extension.

An alternative is running taskset program through system. For example this binds the PHP process to cores 0 and 1:

system('taskset -cp 0,1 '.getmypid());
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top