Node.js 在 Linux 上如何监控
Node.js在Linux上的监控实践分为五个层次:应用进程与业务指标、系统资源、日志链路、指标可视化及性能剖析。借助PM2管理进程并输出内存与CPU指标,结合系统工具top、vmstat等监控资源,采用结构化日志配合ELK或APM工具实现可观测性,最终通过ChromeDevTools定位性能热点。
Node.js 在 Linux 上的监控实践

监控这件事,说复杂也复杂,说简单也简单。关键是把层次拆清楚,工具选对,流程跑通。下面从整体思路开始,一步步落地。
一 监控分层与总体思路
监控可以从五个维度来看:先是应用进程和业务指标——用 PM2 管理进程、查看资源、收集日志,或者在代码里用 process 模块把关键指标输出来。然后是系统资源层,用 top/htop、vmstat、iostat、free、df 盯住 CPU、内存、磁盘 I/O 和文件系统。第三层是日志链路,Winston、Bunyan、Pino 这类结构化日志工具是标配,配上 ELK(Elasticsearch/Logstash/Kibana)、Graylog 或 Splunk 做检索和可视化,排查问题效率会高很多。第四层是指标与可视化,可以自建 Prometheus + Grafana 看板,也可以直接用 New Relic、Datadog 这些 APM 服务。最后是性能剖析,用 node --inspect 配合 Chrome DevTools 做 CPU 和内存分析,精准定位热点和泄漏。
二 快速上手 PM2 与应用内监控
PM2 是 Node 生态里最常用的进程管理工具,没有之一。下面几个步骤就能把监控基础搭起来。
安装与启动
- 安装:
sudo npm install -g pm2 - 启动:
pm2 start app.js --name my-app - 常用命令:
pm2 list(查看进程列表)、pm2 monit(实时资源监控)、pm2 logs my-app(查看日志)、pm2 startup(设置开机自启)、pm2 sa ve(持久化当前进程列表)
进程守护与服务编排
用 systemd 管理 Node 服务是个更稳妥的方案——在服务配置里加上 Restart=always,进程崩溃后自动重启。配合 PM2 做多实例和负载均衡,生产环境基本就稳了。
应用内指标示例
在代码里输出一些关键指标非常实用:process.memoryUsage() 可以拿到常驻内存和堆大小,process.cpuUsage() 得到用户态和内核态的 CPU 时间。这些数据跟系统层的指标一对照,哪个环节出问题一目了然。
三 系统级监控与网络诊断
系统工具虽然古老,但老家伙们往往最靠谱。遇到卡顿或高负载,先翻它们的牌。
- 资源总览与进程定位:
top/htop按 CPU% 或 MEM% 排序,立刻找到哪个 Node 进程在吃资源。 - 深入系统:
vmstat 3给出进程、内存、I/O、CPU 的概览;iostat -x能看出磁盘 I/O 是不是瓶颈;free -m看内存使用详情;df -h检查磁盘空间。 - 历史与综合:
sar -u 1 3看 CPU 使用率,sar -r 1看内存,前提是装了sysstat包。 - 网络与进程流量:
nethogs可以按进程显示带宽占用,iftop则按连接看实时流量——排查网络波动时特别好用。
四 日志与 APM 的可观测性方案
日志和 APM 是“看见”系统运行状态的两只眼睛。结构化日志让查询变得像在数据库里做 SQL,APM 则帮你画出调用链路和依赖地图。
结构化日志
- 库选型:Winston、Bunyan、Pino 三选一,输出 JSON 格式,带上
requestId、userId等上下文,后续检索聚合效率翻倍。 - 传输与存储:日志可以写到控制台、文件,或者通过 HTTP 发送出去。集中到 ELK、Graylog 或 Splunk 后,画图表、设告警都很方便。
APM 与可视化
- 商业与托管:New Relic、Datadog 这类 APM 工具开箱即用,事务追踪、错误聚合、依赖地图、仪表盘一应俱全。
- 自建可观测性:用 Prometheus 采集自定义指标,比如 HTTP 延迟、事件循环延迟、内存和 GC 数据,再配上 Grafana 做可视化看板,还能设置阈值告警。自己掌控,灵活度更高。
五 性能剖析与故障定位
当线上真的出了性能问题,光靠日志和 stats 可能还不够,得掏出更锋利的工具做定点排查。
CPU/内存热点定位
带上 --inspect 参数启动应用:node --inspect app.js,然后用 Chrome DevTools 的 Performance 和 Memory 面板做 CPU 采样、内存快照。配合 PM2 monit 和系统 top/htop 观察资源变化,修复后马上能验证效果。
快速排查清单
总结一个实用的排查流程:先看 PM2 日志和异常堆栈,定位错误或异常;再看系统资源(CPU、内存、磁盘、网络)有没有异常波动;接着用 DevTools 做 CPU 采样或内存快照,找到热点代码或泄漏点;最后回归业务指标——延迟、吞吐、错误率,确认恢复。按这个顺序走,大部分问题都能快速锁定。
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














