在AWS EC2中进行群集时,node.js os.cpus()中显示的线程数不正确
是否有办法从node.js访问AWS在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
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)。”