在节点js 8中打印libuv线程池大小

时间:2018-05-27 13:36:09

标签: javascript node.js ecmascript-6 libuv

This link纯粹指定libuv提供一个线程池,可用于运行用户代码并在循环线程中得到通知。其默认大小为4,但可以通过将UV_THREADPOOL_SIZE环境变量设置为任何值来在启动时更改它。 (绝对最大值为128)。

因此,在package.json中,我将scripts字段设置如下(注意:我使用的是Windows 7,Node JS 8.11.3,nodemon,express 4.16),

来自package.json

的代码段
.
.
.
"scripts": {
    "start": "SET UV_THREADPOOL_SIZE = 120 && node index.js",
  },
.
.
.

index.js的代码

var express = require('express');
var app = express();

var server = app.listen(3000, function(){
    console.log('LIBUV Threads: ', process.env.UV_THREADPOOL_SIZE); // this returns 'undefined'
});

如何确定线程池大小已设置?我想在index.js打印出来,如上所述。

1 个答案:

答案 0 :(得分:3)

你的(Int, A)命令中不应该有空格。

set

此外,您应该通过调用set UV_THREADPOOL_SIZE=120 && node index.js 脚本来启动Node.js程序:

start

否则环境变量将无法设置,您在代码中访问时将继续获得npm start

如果您使用的是Nodemon,则可以通过运行带有额外参数的命令来确保调用npm脚本:

undefined