在节点 js 8 中打印 libuv 线程池大小
print libuv threadpool size in node js 8
This link 纯粹指定 libuv
提供一个线程池,可用于 运行 用户代码并在循环线程中得到通知。它的默认大小为 4,但可以在启动时通过将 UV_THREADPOOL_SIZE
环境变量设置为任意值来更改。 (绝对最大值为 128)。
因此,在 package.json
中,我将 scripts
字段设置如下(注意:我正在使用 Windows 7,Node JS 8.11 .3, nodemon, 表达 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
中打印出来。
你的 set
命令中不应该有空格。
set UV_THREADPOOL_SIZE=120 && node index.js
您还应该通过调用 start
脚本来启动您的 Node.js 程序:
npm start
否则将不会设置环境变量,您将在代码中访问它时继续得到 undefined
。
如果您使用的是 Nodemon,您可以确保您的 npm 脚本被 运行 带有额外参数的命令调用:
nodemon --exec npm start
This link 纯粹指定 libuv
提供一个线程池,可用于 运行 用户代码并在循环线程中得到通知。它的默认大小为 4,但可以在启动时通过将 UV_THREADPOOL_SIZE
环境变量设置为任意值来更改。 (绝对最大值为 128)。
因此,在 package.json
中,我将 scripts
字段设置如下(注意:我正在使用 Windows 7,Node JS 8.11 .3, nodemon, 表达 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
中打印出来。
你的 set
命令中不应该有空格。
set UV_THREADPOOL_SIZE=120 && node index.js
您还应该通过调用 start
脚本来启动您的 Node.js 程序:
npm start
否则将不会设置环境变量,您将在代码中访问它时继续得到 undefined
。
如果您使用的是 Nodemon,您可以确保您的 npm 脚本被 运行 带有额外参数的命令调用:
nodemon --exec npm start