在Linux上监控Node.js性能可从内置工具、第三方工具、系统级工具三方面入手,以下是具体方法及对应工具:
perf_hooks模块:通过performance和performanceObserver API测量代码执行时间、事件循环耗时等,如performance.mark('start')和performance.measure('start', 'end')。console.time()/console.timeEnd():快速测量代码块执行时间。process.cpuUsage():获取CPU使用情况(用户态/系统态时间)。process.memoryUsage():查看内存占用(RSS、堆内存等)。pm2 monit(监控)、pm2 top(资源占用排序)。top/htop:查看CPU、内存占用,htop支持交互式排序(如按CPU/内存排序)。vmstat:监控虚拟内存、CPU活动,vmstat 1(每秒刷新一次)。iostat:分析磁盘I/O和CPU使用,iostat -x 1(显示详细磁盘指标)。v8.getHeapStatistics()或heapdump模块分析堆内存。cluster模块)和负载均衡。根据需求选择工具组合,轻量级场景可用PM2+htop,复杂场景可结合Prometheus+Grafana+APM工具。