为日后检查而生成 V8 堆的转储文件。
node-heapdump === 为日后检查而生成 V8 堆的快照。 ### 安装 npm install heapdump ### 构建 node-gyp configure build ### 使用 在应用程序中加载插件: var heapdump = require('heapdump'); 模块导出了一个单个 writeSnapshot([filename], [callback]) 函数,用于写出快照。 如果省略 filename,默认值为 heapdump-<sec>.<usec>.heapsnapshot。 heapdump.writeSnapshot('/var/local/' + Date.now() + '.heapsnapshot'); 该函数还接受一个可选的回调函数,在堆快照完成后调用。
heapdump.writeSnapshot(function(err, filename) { console.log('dump written to', filename); });
快照会同步写入磁盘。 当 JS 堆很大时,可能会出现明显的"卡顿"现象。
打开 Google Chrome 并按 F12 键打开开发者工具栏。前往 Memory 选项卡,右键单击选项卡面板并选择 Load profile...。选择转储文件并单击 Open。现在,您可以随意检查堆栈快照。某些快照可能需要花费数分钟甚至数小时才能加载。
在 UNIX 系统上,创建堆栈快照的经验法则是,它需要的内存是快照时堆栈大小的两倍。如果您得到的快照文件为空或被截断,请检查 dmesg 的输出;您可能遇到了系统的 OOM 杀手或重新分配内存。
暂无开放 Issues,或尚未同步最近议题。