Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AWS EC2中进行群集时,node.js os.cpus()中显示的线程数不正确_Node.js_Multithreading_Amazon Ec2_Multiprocessing_Cluster Computing - Fatal编程技术网

在AWS EC2中进行群集时,node.js os.cpus()中显示的线程数不正确

在AWS EC2中进行群集时,node.js os.cpus()中显示的线程数不正确,node.js,multithreading,amazon-ec2,multiprocessing,cluster-computing,Node.js,Multithreading,Amazon Ec2,Multiprocessing,Cluster Computing,是否有办法从node.js访问AWSc4.8xlarge实例中的所有324个线程?除了os.cpus(),还有其他方法可以获取线程数吗 我们使用的是一个CPU优化的AWS实例,其大小c4.8xlarge,它有36个虚拟CPU,每个CPU有9个内核,总共324个线程(36 x 9) 当我们运行这个脚本来测量线程数时,它显示了36个线程,但没有显示关于每个vCPU上9个内核的任何信息 const cluster = require('cluster'); const numCPUs = requ

是否有办法从node.js访问AWS
c4.8xlarge
实例中的所有324个线程?除了
os.cpus()
,还有其他方法可以获取线程数吗

我们使用的是一个CPU优化的AWS实例,其大小
c4.8xlarge
,它有36个虚拟CPU,每个CPU有9个内核,总共324个线程(36 x 9)

当我们运行这个脚本来测量线程数时,它显示了36个线程,但没有显示关于每个vCPU上9个内核的任何信息

 const cluster = require('cluster');
 const numCPUs = require('os').cpus().length;

 if (cluster.isMaster) {
   console.log(`Master ${process.pid} is running`);

   // Fork workers.
   for (let i = 0; i < numCPUs; i++) {
     cluster.fork();
   }

   cluster.on('exit', (worker, code, signal) => {
     console.log(`worker ${worker.process.pid} died`);
   });
 } else {
     console.log("Number of cores: " + numCPUs);
     process.exit(0);
 }
const cluster=require('cluster');
const numpus=require('os').cpus().length;
if(cluster.isMaster){
log(`Master${process.pid}正在运行`);
//叉工。
for(设i=0;i{
log(`worker${worker.process.pid}`);
});
}否则{
console.log(“内核数:+numpus”);
进程退出(0);
}

这是一个问题,因为我们在另一台有1个CPU和8个超线程内核的机器上运行此脚本,它报告了16个CPU(这是正确的)。

根据各种来源(包括),一个“c4.8xlarge”有18个超线程内核,总共36个vCPU(包括)。

根据各种来源(包括),“c4.8xlarge”有18个超线程内核,总共36个vCPU(超线程)。

这是正确的,尽管我相信结尾还有一个额外的单词,应该是“36个vCPU(超线程)。”感谢您对这篇文章的挖掘。这是这里的关键信息:“在某些情况下,您的工作负载可能不需要全部18个核心(每个核心运行两个超线程,在c4.8XL上总共36个vCPU)。”这是正确的,尽管我相信最后还有一个额外的词,应该是“36个vCPU(是超线程)。”感谢您阅读这篇文章。这是关键信息:“在某些情况下,您的工作负载可能不需要全部18个内核(每个内核运行两个超线程,在c4.8XL上总共36个vCPU)。”