【发布时间】:2012-10-03 13:45:35
【问题描述】:
需要分析节点进程。在运行节点进程几天后,我在生产中出现了一些内存泄漏。
我已经尝试过 node-inspector + v8,但它不起作用,在新版本的 node-inspector 中没有配置文件选项卡。在旧版本中,当我开始分析错误并停止调试。
我也尝试过nodetime.com,但它没有显示我需要的内容,而且它占用了太多内存,不适合生产。
我也尝试过 dtrace (http://blog.nodejs.org/2012/04/25/profiling-node-js/),但它没有给我必要的信息。
那么我需要什么信息来分析内存:
获取实时实例、实例计数、内存大小、实例类型
你知道如何获取这些信息吗?
【问题讨论】:
-
Nodetime 使用 V8 的堆分析器来获取堆快照。拍摄快照时,它可能会使内存使用量翻倍。您应该在生产中小心使用它。不过,使用 metric() 方法将自定义指标发送到节点时间,然后观察历史趋势,这可能会有所帮助。下个版本将引入更多与内存相关的自动指标。