javascript - 在节点 js 8 中打印 libuv 线程池大小
问题描述
此链接纯粹指定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
。
解决方案
你的set
命令中不应该有空格。
set UV_THREADPOOL_SIZE=120 && node index.js
您还应该通过调用start
脚本来启动您的 Node.js 程序:
npm start
否则将不会设置环境变量,您将undefined
在代码中访问它时继续获取。
如果您使用的是 Nodemon,您可以通过运行带有额外参数的命令来确保调用您的 npm 脚本:
nodemon --exec npm start
推荐阅读
- ubuntu-18.04 - ld 找不到库,即使使用 ldconfig,甚至 ld -L -lmylib 也无法打开
- android - 键盘未显示在 Webview 中
- python - 将多个列分组并在组内排名
- php - PHP检查“变量变量” isset
- html - 在html中动态改变body的背景
- javascript - 限制用户手动选择业务流程阶段
- java - 如何在 Java 中计算我的原始点和提供的点之间的距离
- java - Keycloak getAccessToken 在 Java Eclipse/Maven 项目中工作,但通过命令行运行时抛出 ProcessingException
- ios - 通过在 Swift 中使用协议将值从一个视图反转到另一个视图
- go - 在谷歌云上部署服务器二进制文件