Memory Consumption and System Freezes on MP2 GX

Hi there,

I’m running some node red scripts on my MP2 GX Large since 3 years.
No problems at all, sometimes the node red restarted. But this was not very often, only 2 times in a year or so.

With Venus 3.5 the crashes / node red reboots were more often.
With Venus 3.6 it’s every 10 days or so. And the annoying thing is that node red is not rebooting, the Linux is freezing completely, so I have to restart the whole Multiplus.

I think it is an issue with memory. With a “fresh” started node red, memory consumption is about 49%. After a few days it increases >50. And last time, it was about 53% (255MB) when it crashed. Maybe Node red has a faulty garbage collector? Is there a solution for this?

Maybe a solution would be to stop the neatvnc-Service. It would free up 27% memory. It’s done with svc -d /service/gui
The v2 Gui is still running after this, but I cannot access the GUI via VRM. It seems it is using this old VNC Gateway and not the new.

Any thoughts or recommendations?

I confirm what @butterkeks said, because I noticed that the Cerbo’s RAM was naturally increasing on its own and inexorably for no reason. In our case, after a reboot and all the usual features ON it starts at 31% but does not maintain it and increases and increases and increases again.

I stopped the neatvnc with a script during startup, this saves 16mb of memory. But I don’t know if this has side effects.

If victron doesn’t have a solution for this I have to migrate to a RPI.

Hi there,

my name is Bernhard and I am new here.

I am living in Wiesloch in Germany and I have installed a balcony power plant with 5 panels à 175 Wp, sum 875 Wp.

Inverter is Victron MP2 with 3 kW, Cerbo GX, SmartShunt, Battery Vatrer 12.8V 300 Ah.

Separate MPPT 100/20 for each panel.

I had issues with hang-up of the Cerbo after 5 to 7 days.

I remembered a thing of my home computer called Garbage Collection, and indeed, this exists also in Node-RED:

node-red-contrib-gc

node-red-contrib-gc-trigger.

The trigger-node is needed just one time.

The GC-node can be connected to a function-node like that:

var Type=msg.payload.gctype

if (Type!=1) // Type 1: Every 2 seconds (1 ms), too often to display

if (Type!=8) { // Type 8: mostly no difference in heap size

var Duration=msg.payload.pauseMS+“ ms“

var Remaining=(msg.payload.after.totalHeapExecutableSize/1000000).toFixed(1)+“ MB“

var Difference=(msg.payload.diff.usedHeapSize/1000000).toFixed(1)+“ MB“

node.warn(“GC“+Type+“ finished (“+Duration+“, “+Remaining+“, “+Difference+“)“)

}

The result is something like

GC4 finished (64 ms, 9.8 MB, -8.6 MB)

This message shows up every 1-2 minutes and appears to me very encouraging, because usable heap size is not decreasing (always 9.8) and duration is not increasing.

I have to observe this for a couple of days.

Maybe someone has experiences with this.

Unfortunately my Cerbo hung up this morning again, so I had to reset it by switching off the battery for a moment. Now I have activated Settings/VRM/Reboot device when no contact. Hopefully that works and a hanging software is able to reset itself, maybe there is a kind of watchdog provided…

There is a watchdog that runs for load and will reboot.
Maybe you had a memory or disk space issue?

Memory issue is a good idea! I have got a Shelly 3 EM and two drivers for it:

  • The patch of Fabian Lauer see GitHub
  • The Victron node Virtual 3-phase gridmeter and the shelly gen 1 node, all provided with the Victron implementation of Node-RED.

I now have removed the patch of Fabian Lauer; maybe it had created a large Log-file.

We‘ll see what happens!

Thank you @Nick for your hints!

Common issue with shelly drivers. Also an idea to reduce poling intervals.

I have got no polling mode at all. I figured out that mode „none“ is as fast as the patch of Fabian Lauer. Mode polling 1 sec is slower.