代码之家  ›  专栏  ›  技术社区  ›  agm1984

节点中显示的线程数不正确。js操作系统。在AWS EC2中聚类时的CPU()

  •  0
  • agm1984  · 技术社区  · 7 年前

    有没有办法访问AWS中的所有324个线程 c4.8xlarge os.cpus() ?

    我们使用的是一个CPU优化的AWS实例 它有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);
     }
    

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

    1 回复  |  直到 7 年前
        1
  •  2
  •   mscdex    7 年前

    根据各种来源(包括 a blog article on Amazon's site 总计 36 VCPU(其中 are hyperthreaded cores ).