os模块获取到的是逻辑处理器数目,对于有超线程的CPU,物理内核数只有逻辑处理器数目的一半
回复 (6)
N
nodej os api os.cpus()
K
引用 nwljynodej os api os.cpus()
@nwljy 这个获取到的是逻辑处理器数目
A
拿不到,只能是容器那边约定一个环境变量来注入。
不过都容器化了,一般一个容器里面就只启一个进程了。
Z
引用 atian25拿不到,只能是容器那边约定一个环境变量来注入。 不过都容器化了,一般一个容器里面就只启一个进程了。
@atian25 判断处理器型号,然后 /2 ~ 只能最笨的办法了~
J
这个不是os的事情吗?它自己会做好os内核的调度. 它告诉你6还是12,你就听它的就得了.
K
引用 JsonSong89这个不是os的事情吗?它自己会做好os内核的调度. 它告诉你6还是12,你就听它的就得了.
@JsonSong89 写多进程程序的时候根据cpu核心数开启不同数目的进程,此时如果开启的是两倍于物理内核数的进程,且这些进程是满载的,那么最终处理速度还变慢了(相对于物理内核数目的进程)。
参与回复
登录后即可参与回复。登录