在 Ubuntu 下 Node.js 运行慢,通常不是 Node 本身的问题,而是环境、配置或代码层面导致的。下面按「最常见 → 进阶」给你一套排查和优化思路。
time node app.js
或加日志:
console.time('startup');
// ...
console.timeEnd('startup');
区分是:
Ubuntu 默认源里的 Node 可能很老(如 12、14)。
✅ 建议用 Node 18 / 20 / 22(LTS)
# 使用 nvm(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install --lts
nvm use --lts
which node
node -v
如果是 /usr/bin/node 且版本老 → 卸载 apt 版:
sudo apt remove nodejs
常见误区:
fs.readFileSyncJSON.parse✅ 改异步:
await fs.promises.readFile(...)
Node 是单线程,CPU 密集任务直接卡死。
✅ 用:
clusterworker_threadspm2pm2 start app.js -i max
特别是:
✅ 检查:
iostat -x 1
df -h
✅ 建议:
du -sh node_modules
✅ 优化:
esbuild / tsxnode --max-old-space-size=2048 app.js
npx node@latest app.js
node --prof app.js
node --prof-process isolate-*.log > result.txt
或:
npx clinic doctor -- node app.js
如果你愿意,可以告诉我:
我可以直接给你针对性优化方案。