温馨提示×

ubuntu nodejs为何很慢

小樊
42
2026-10-09 18:14:34
栏目: 编程语言

在 Ubuntu 上感觉 Node.js 很慢,通常不是 Node 本身的问题,而是环境、配置或用法导致的。下面按常见原因 → 排查方法 → 解决建议来说明。


一、最常见原因

1. 使用了错误来源的 Node(系统 apt 旧版本)

Ubuntu 自带的 Node 通常很旧(如 12 / 14),性能差、Bug 多。

检查

node -v
which node

解决 用 NodeSource 或 nvm 安装新版本:

# nvm(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
nvm install 20
nvm use 20

2. 磁盘是机械硬盘 / 低性能云盘

Node 项目依赖 node_modules,文件极多。

表现

  • npm install 极慢
  • 启动项目慢
  • 文件读写卡

解决

  • 使用 SSD
  • 或把项目放到内存盘(仅测试):
mkdir /tmp/node-test
cp -r project /tmp/node-test

3. npm install 慢(不是 Node 慢)

Ubuntu 默认 npm 源在国外。

检查

npm config get registry

解决

npm config set registry https://registry.npmmirror.com

或

pnpm install

4. 权限问题导致 npm 异常慢

用 sudo npm 会导致缓存/权限混乱。

错误用法

sudo npm install

正确做法

sudo chown -R $USER:$USER ~/.npm
npm install

5. CPU 被限制(云服务器 / 容器)

很多低配 VPS:

  • 1 核
  • 限制 CPU 配额
  • 高负载

检查

top
htop
nproc

6. 启动慢是因为冷启动 + 大量依赖

如:

  • NestJS
  • Next.js
  • TypeScript 项目

优化

NODE_ENV=production node dist/index.js

或用:

  • tsx
  • esbuild
  • swc

7. 文件系统监控问题(inotify 限制)

开发时热更新慢。

检查

cat /proc/sys/fs/inotify/max_user_watches

解决

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

二、快速自检清单

node -v
npm -v
nproc
free -h
df -h
npm config get registry

三、如果你能补充信息,我可以精准定位

请告诉我:

  1. 是 install 慢 还是 运行慢?
  2. Ubuntu 版本?
  3. 物理机 / 虚拟机 / 云服务器?
  4. Node 版本?
  5. 用的框架(Express / Nest / Next 等)?

我可以直接给你针对性优化方案。

0 踩