通过Ubuntu日志排查Node.js内存泄漏可按以下步骤进行:
journalctl查看系统级日志,过滤Node.js相关进程的异常记录,如内存不足、进程崩溃等。journalctl -u <node_service_name> --no-pager | grep -i "error\|oom\|leak"
top、htop或pm2 monit查看Node.js进程的内存占用趋势,若内存持续增长可能存在泄漏。process.memoryUsage()定期记录内存数据到日志文件,分析内存增长模式。setInterval(() => {
  const memory = process.memoryUsage();
  console.log(JSON.stringify(memory, null, 2));
}, 5000);
heapdump生成快照:heapdump模块,在可疑代码段前后生成堆快照文件。const heapdump = require('heapdump');
heapdump.writeSnapshot('/tmp/snapshot.heapsnapshot');
--inspect参数,连接Chrome DevTools的Memory面板,加载快照并对比分析内存泄漏点(如未释放的闭包、全局变量等)。global对象。removeListener。setInterval/setTimeout是否在不需要时调用clearInterval/clearTimeout。memwatch-next监控泄漏:artillery或ab模拟高并发请求,观察内存是否在压力下异常增长,结合日志定位泄漏触发点。grep -i "memory\|leak\|gc" /var/log/syslog
grep "ERROR" /var/log/nodejs-app.log | wc -l
通过以上步骤,可结合系统日志、应用日志和内存分析工具,逐步定位Node.js内存泄漏的根源。