My Node.Js应用程序偶尔会因“分段错误”而失败,我对如何诊断原因感到茫然。如下所述,我通过提高maxlisteners大大降低了频率,但没有让问题消失。
应用程序在Node v0.8.22下的BeagleBone Black上运行,并使用Socket.io将实时数据传送到BBB LCD显示屏上显示的浏览器页面。它使用korevec / node-i2c库从通过I2C连接的传感器收集数据。但是,我已经隔离了该库,但仍然存在故障。
当我将数据流式传输到客户端一段时间时,通常会发生故障,尽管偶尔/很少会在其他时间发生这些故障。这并不奇怪,因为我的应用程序使用socket.io在几乎所有页面上进行通信,但流媒体页面的容量要高得多。
我收到以下消息:
(节点)警告:检测到可能的EventEmitter内存泄漏。 11 听众补充道。使用emitter.setMaxListeners()来增加限制 微量
并且从第1天开始就这样做了。我也看到了内存泄漏的症状但是因为我提出了MaxListeners内存使用率保持不变。进行此项更改后的故障率急剧下降,但并未完全消失。我在http的顶部使用socket.io,并为socket.it和http。
引发了MaxListeners如何诊断这个问题?内存泄漏错误是否相关?我可以发布代码,但有很多内容,我不确定哪些部分最相关。
感谢您的帮助, 干杯,威尔