注释
Pi是什么味道?是否有其他正在运行的进程正在使用大量内存?“top”命令将告诉您有关进程内存使用情况的信息。 |
这是 Pi 4b 4gb。除了 GUI 和 chromium 之外没有其他运行 |
尝试在没有连接 RAMPS 板的情况下运行服务器,一切正常。CNC.js 占用了大约 1.3% 的内存,而使用量没有任何增加。 |
听起来像是 MarlinController 子系统中的内存泄漏 |
我现在没有时间追查这个问题,但如果您想做一些实验来帮助隔离问题,可以尝试以下方法。 首先,保存 index.js 的副本,以便您可以轻松返回到未修改的版本。然后注释掉这些行(在开头添加“//”)并重新启动服务器。如果这消除了不断增加的内存使用量,我们就知道那里存在泄漏。可能还有其他泄漏,但最好先查找一下。 |
我没有名为 dist/cncjs/server/index.js 的文件…. |
抱歉,这是开发版文件的新名称。1.9.20版本,全局安装时,文件为/usr/lib/node_modules/cncjs/dist/cnc/app/index.js |
注释掉 3 _this.query.issue() 行不会有任何变化。 我也尝试将另一个版本的 Marlin 闪烁到坡道板上,但也没有任何改变 |
也许我可以抽出时间研究一下,但可能不会很快。内存泄漏可能很难发现,而且我不喜欢 Javascript,所以我将不得不学习一些调试技术。Cheton 或许可以更快地找到它,但他现在真的很忙。 |
只有当我使用 /dev/tty/AMA0 连接时我才会遇到问题。如果我使用 /dev/tty/USB0 连接,一切都很好…… |
node-serialport 存储库中讨论了几个内存泄漏问题,一些用户报告说内存使用量正在稳步增加。 我不确定内存泄漏问题是否已在
否则,如果开发板是使用 USB 电缆连接的,那么通过串行设备 /dev/ttyUSB0 连接应该是正确的选择。 |
我意识到没有帮助,但我在使用 PI3 时也遇到了这个问题。我只是经验不足,无法在 PI 上启动并运行它……所以我深表歉意。我看到你在讨论串行端口的东西,我不知道如何创建一个非 root 用户所以我不得不使用 –usafe-perm 参数安装 CNCjs。这与问题有关吗? |
a) –unsafe-perm 不太可能与问题有关 |
因此,似乎只有当您尝试连接到没有连接任何东西(至少没有 CNC 或其他任何东西)的 /dev/ttyAMA0 时,才会发生错误。如果您通过 USB 端口连接 CNC,它被称为 /dev/ttyAMC0 而不是 ttyAMA0。当您通过此真实连接进行连接时,问题不再发生。因此,简单地忽略或隐藏 ttyAMA0 接口就可以解决问题。那么没有人可以尝试通过这个不存在的连接?界面。我不是程序员,所以我只想提供一些提示以找到解决方案。 |
不幸的是,在某些情况下您确实需要使用 ttyAMA0。流行的 Protoneer Pi CNC 屏蔽通过 ttyAMA0 连接,因此排除它会破坏与该屏蔽的兼容性。 这是一种恼人的“做也该死,不做也该死”的情况。 还可以考虑尝试快速检测控制器是否连接到端口。CNCjs 实际上确实尝试这样做,但由于一些固有的挑战,它并不完美。CNCjs 支持的四种不同协议(Grbl、TinyG/g2core、Smoothie、Marlin)在启动和重新连接时都有不同的行为,即使在单一控制器类型中,行为也会根据您使用的微处理器及其串行方式而改变港口实施。这是一个非常困难的问题。要完美地做到这一点,如果可能的话(相互冲突的要求),将需要针对不断增长的控制器列表进行持续测试。例如,Marlin 2.0 目前支持 11 种不同的基本微控制器。Microsoft Windows 等商业产品在设备齐全的实验室中拥有庞大的测试团队, CNCjs 开发主要是一个人(Cheton),他全职做其他事情。 |
我为我的 PI 获得了这段代码 我将我的 GPU_MEM 设置为 512 将其更改为 256 现在似乎在 PI 4 4G 模型上工作正常 |
☝️其他人可以确认增加 GPU_MEM 可以解决这个问题吗? |
如果你有 1-2 gig 模型,这是对 gpu 超频的问题,你可能有问题我给了我的邻居我的 4 gig 模型,我对 gpu 超频并得到错误我可能在模型上错了但它是值得的信息,但如果您有 sudo apt install neofetch,则不需要超频 gpu 如果您有备用内存,请查看您的内存使用情况,您可以自行承担超频系统的风险,但我发现它对于带有迷你风扇的系统来说是稳定的,并且小散热器 arm_freq=2000 |
描述
运行服务器几分钟后,它崩溃并显示以下消息:
pi@raspberrypi:~ $ cnc
2019-09-13T10:07:09.717Z – info init Loading configuration from “/home/pi/.cncrc”
2019- 09-13T10:07:11.300Z – info init 在http://127.0.1.1:8000启动服务器
<— 最后几次 GC —>
[3354:0x2c76e78] 192585 ms: Scavenge 695.5 (722.6) -> 694.5 (723.1) MB, 15.9 / 0.0 ms (平均 mu = 0.134, 当前 mu = 0.064) 分配失败
[3354:0x2c76e78] 192685 ms: Scavenge (723.18) ) -> 695.0 (724.6) MB,19.4 / 0.0 ms(平均 mu = 0.134,当前 mu = 0.064)分配失败
[3354:0x2c76e78] 192788 ms:清除 696.4 (724.6) -> 695.5 (730.1) MB,26.8 / 0.0 ms(平均 mu = 0.134,当前 mu = 0.064)分配失败
<— JS 堆栈跟踪 —>
FATAL ERROR: Ineffective mark-compacts near heap limit 分配失败 – JavaScript 堆内存不足
版本
你如何安装CNCjs?
数控系统
马林鱼
硬件
操作系统