print libuv threadpool size in node js 8

倖福魔咒の 提交于 2019-12-11 07:27:40

问题


This link purely specifies that libuv provides a thread pool which can be used to run user code and get notified in the loop thread. Its default size is 4, but it can be changed at startup time by setting the UV_THREADPOOL_SIZE environment variable to any value. (the absolute maximum is 128).

So, in package.json, I set scripts field as below (NOTE: I am using Windows 7, Node JS 8.11.3, nodemon, express 4.16),

Code snippet from package.json

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

Code for 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'
});

How can I be assured that thread pool size is set? I want to print it out here in index.js as above.


回答1:


You shouldn't have spaces in your set command.

set UV_THREADPOOL_SIZE=120 && node index.js

Also you should start your Node.js program by invoking the start script:

npm start

Otherwise the environmental variable won't be set and you will continue to get undefined when accessing it in your code.

If you are using Nodemon, you can ensure your npm script is invoked by running the command with an extra argument:

nodemon --exec npm start


来源:https://stackoverflow.com/questions/50552693/print-libuv-threadpool-size-in-node-js-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!