CNode

如何在node.js里获取CPU的物理内核数目 ?

问答
KKinghts发布于7 年前最后回复7 年前6 回复8941 浏览0 收藏

os模块获取到的是逻辑处理器数目,对于有超线程的CPU,物理内核数只有逻辑处理器数目的一半 Snipaste_2019-09-23_10-19-06.png

查看回复

回复 (6)

N
nwljy#1·7 年前

nodej os api os.cpus()

K
Kinghts#2·7 年前
引用 nwljynodej os api os.cpus()

@nwljy 这个获取到的是逻辑处理器数目

A
atian25#3·7 年前

拿不到,只能是容器那边约定一个环境变量来注入。

不过都容器化了,一般一个容器里面就只启一个进程了。

J
JsonSong89#5·7 年前

这个不是os的事情吗?它自己会做好os内核的调度. 它告诉你6还是12,你就听它的就得了.

K
Kinghts#6·7 年前
引用 JsonSong89这个不是os的事情吗?它自己会做好os内核的调度. 它告诉你6还是12,你就听它的就得了.

@JsonSong89 写多进程程序的时候根据cpu核心数开启不同数目的进程,此时如果开启的是两倍于物理内核数的进程,且这些进程是满载的,那么最终处理速度还变慢了(相对于物理内核数目的进程)。

参与回复
登录后即可参与回复。登录