Cerbo GX MK2 WebUI Extremely Slow / Inaccessible vs Multiplus II GX (Both v3.67)

HARDWARE CONFIGURATION

Cerbo GX MK2:

VE.Direct Port 1: Smart Shunt

VE.Direct Port 2: Multi RS Solar 48V/6000VA/100A

Firmware: v3.67

Modifications: None

Multiplus II GX (Comparison Baseline):

VE.Direct Port 1: Smart Shunt

VE.Direct Port 2: Smart Solar MPPT (via VE.Direct to USB adapter)

Firmware: v3.67

WebUI Load Time: ~10 seconds (consistent)

NETWORK TOPOLOGY

Both devices:

Connection: WiFi (signal strength 4/4 bars)

Network: Same SSID / subnet / IP range

VRM Upload: Functioning correctly on both devices

Local Access Method: Direct IP address (http://192.168.0.X)

SYMPTOM DESCRIPTION

Cerbo GX MK2 WebUI:

Initial Load: Stuck at “Loading…” screen for 2+ minutes

Refresh Behavior: Requires multiple refreshes to load

Accessibility: Frequently completely inaccessible

Multiplus II GX WebUI:

Initial Load: Consistent 10-second load time

No refresh required

Always accessible

TROUBLESHOOTING COMPLETED

1. Browser cache cleared (Chrome/Firefox/Safari tested)

2. Tested from multiple devices (laptop/tablet/phone)

3. Ping test to Cerbo GX MK2: 4-8 ms

4. SSH access to Cerbo GX MK2: no

5. Verified firmware integrity (Settings > Firmware > Installed)

6. Rebooted Cerbo GX MK2 multiple times

7. Tested with Classic UI vs New UI (gui-v2)

8. Verified VE.Direct device polling rates in dbus-spy

10. No Node-RED or custom modifications installed

Try ssh login and run top (example)

I had in the past performance issue and I disable “MQTT Acces"(Service)

Is this all on a local network? Have you tried a direct LAN connection instead of WiFi, always worth eliminating WIFI as a possible cause of the problem.

I don’t have any issues downloading the GUI across the internet from my boat in another country, I use a local ethernet network on the boat connected to a LTE Router, this tries to use the marina’s WiFi, but if responses are slow it will fail-over to an LTE connection.

Takes about 5-10 seconds to do the initial download of the GUI 2. I have a standard Cerbo GX at the far end. My local Venus at home running on a RPI3 takes about 3 seconds to load across a 100 Mbps wired network.

Both run the ‘Large’ version and I use Node-Red on both to interface with non-Victron kit.

If you are running a Cerbo GX, why do you also run GX on the MP? Is this causing some conflict, just connect the Cerbo to the MP using the correct cable (ethernet) and use that to manage the system with, or am I missing something?

Of course, today I can access the web UI in ~20 seconds (yesterday was near impossible), while the other unit still takes about ~10s.

The top command indicates no abnormal CPU/memory utilization. Both units have MQTT enabled to support necessary automation workflows.

[edit removed useless screenshot]
root@Victron-Cerbo-GX:~# top -d 1
Mem: 375768K used, 653224K free, 4124K shrd, 7012K buff, 136120K cached
CPU: 20% usr 4% sys 0% nic 75% idle 0% io 0% irq 0% sirq
Load average: 0.26 0.44 0.43 2/261 7843
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
738 727 root S 43840 4% 4% {vrmlogger.py} /usr/bin/python3 -u /opt/victronenergy/vrmlogger/vrmlogger.py
828 819 root S 24688 2% 4% {dbus-acsystem.p} /usr/bin/python3 /opt/victronenergy/dbus-acsystem/dbus-acsystem.py
816 806 root S 22396 2% 4% /opt/victronenergy/dbus-fronius/dbus-fronius
1404 1402 root S 7920 1% 4% /opt/victronenergy/vecan-dbus/vecan-dbus -c socketcan:vecan0 --banner --log-before 25 --log-afte
7843 7786 root R 2700 0% 4% top -d 1
755 743 root S 140m 14% 0% /opt/victronenergy/gui/gui -neatvnc 127.0.0.1
815 801 root S 53088 5% 0% {dbus-modbus-cli} /usr/bin/python3 -u /opt/victronenergy/dbus-modbus-client/dbus-modbus-client.p
1522 1520 root S 47256 5% 0% {mqtt-rpc.py} /usr/bin/python3 -u /opt/victronenergy/mqtt-rpc/mqtt-rpc.py
1527 1518 root S 44576 4% 0% /usr/bin/flashmq
746 733 root S 41612 4% 0% {venus-button-ha} /usr/bin/python3 -u /opt/victronenergy/venus-button-handler/venus-button-handl
739 729 root S 33776 3% 0% /opt/victronenergy/venus-platform/venus-platform
773 764 root S 32736 3% 0% {localsettings.p} /usr/bin/python3 -u /opt/victronenergy/localsettings/localsettings.py --path=/
781 760 root S 30288 3% 0% {netmon} /usr/bin/python3 -u /opt/victronenergy/netmon/netmon
804 785 root S 29444 3% 0% {dbus_systemcalc} /usr/bin/python3 -u /opt/victronenergy/dbus-systemcalc-py/dbus_systemcalc.py
829 809 root S 28848 3% 0% {dbus_digitalinp} /usr/bin/python3 -u /opt/victronenergy/dbus-digitalinputs/dbus_digitalinputs.p
808 791 root S 28468 3% 0% {dbus_shelly.py} /usr/bin/python3 /opt/victronenergy/dbus-shelly/dbus_shelly.py
1555 1550 root S 27632 3% 0% {vesmart_server.} /usr/bin/python3 -u /opt/victronenergy/vesmart-server/vesmart_server.py -i hci
796 777 root S 26172 3% 0% {dbus_vebus_to_p} /usr/bin/python3 -u /opt/victronenergy/dbus-vebus-to-pvinverter/dbus_vebus_to_
776 770 root S 20500 2% 0% /opt/victronenergy/hub4control/hub4control
742 735 root S 20172 2% 0% /opt/victronenergy/venus-access/venus-access
593 1 root S 11900 1% 0% php-fpm: master process (/etc/php-fpm.conf)
1945 1633 root S 10936 1% 0% ssh -N -o ExitOnForwardFailure=yes -o ConnectTimeout=20 -o ServerAliveInterval=10 -o ServerAlive
747 745 simple-u S 10036 1% 0% /bin/simple-upnpd --xml /var/run/simple-upnpd.xml -d
651 1 root S 9200 1% 0% /usr/sbin/wpa_supplicant -u -O /var/run/wpa_supplicant -s
1416 768 www-data S 8412 1% 0% nginx: worker process
1289 1286 root S 7928 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
1633 1628 root S 7908 1% 0% {setup-tunnel.sh} /bin/bash /opt/victronenergy/ssh-tunnel/setup-tunnel.sh
1317 1313 root S 7796 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
1400 1391 root S 7796 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
7786 7782 root S 7780 1% 0% -sh
783 751 root S 7776 1% 0% {serial-starter.} /bin/bash /opt/victronenergy/serial-starter/serial-starter.sh
758 749 root S 7776 1% 0% {navico-announce} /bin/sh /opt/victronenergy/service-advertiser/navico-announcement.sh 80 /app
1028 1 root S 7776 1% 0% -sh
1288 1029 root S 7776 1% 0% {start-mk2-dbus.} /bin/sh /opt/victronenergy/mk2-dbus/start-mk2-dbus.sh ttyS4 PRODUCT=builtin-mk
1552 1548 root S 7776 1% 0% {hostapd-run} /bin/sh /usr/sbin/hostapd-run
1313 1177 root S 7776 1% 0% {start-vedirect.} /bin/bash /opt/victronenergy/vedirect-interface/start-vedirect.sh ttyS6 PRODUC
1391 1175 root S 7776 1% 0% {start-vedirect.} /bin/bash /opt/victronenergy/vedirect-interface/start-vedirect.sh ttyS7 PRODUC
1286 1179 root S 7776 1% 0% {start-vedirect.} /bin/bash /opt/victronenergy/vedirect-interface/start-vedirect.sh ttyS5 PRODUC
768 757 root S 7604 1% 0% nginx: master process /usr/sbin/nginx
110 1 root S 6872 1% 0% /sbin/udevd -d
Mem: 375768K used, 653224K free, 4124K shrd, 7012K buff, 136120K cached
CPU: 8% usr 2% sys 0% nic 87% idle 0% io 0% irq 0% sirq
Load average: 0.26 0.44 0.43 2/261 7843
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
755 743 root S 140m 14% 1% /opt/victronenergy/gui/gui -neatvnc 127.0.0.1
804 785 root S 29444 3% 1% {dbus_systemcalc} /usr/bin/python3 -u /opt/victronenergy/dbus-systemcalc-py/dbus_systemcalc.py
1527 1518 root S 44576 4% 1% /usr/bin/flashmq
738 727 root S 43840 4% 1% {vrmlogger.py} /usr/bin/python3 -u /opt/victronenergy/vrmlogger/vrmlogger.py
7843 7786 root R 2736 0% 1% top -d 1
739 729 root S 33776 3% 0% /opt/victronenergy/venus-platform/venus-platform
776 770 root S 20500 2% 0% /opt/victronenergy/hub4control/hub4control
527 525 messageb S 3132 0% 0% dbus-daemon --system --nofork
827 813 root S 3080 0% 0% /opt/victronenergy/dbus-adc/dbus-adc --banner
54 2 root IW 0 0% 0% [kworker/u8:4-ev]
815 801 root S 53088 5% 0% {dbus-modbus-cli} /usr/bin/python3 -u /opt/victronenergy/dbus-modbus-client/dbus-modbus-client.p
1522 1520 root S 47256 5% 0% {mqtt-rpc.py} /usr/bin/python3 -u /opt/victronenergy/mqtt-rpc/mqtt-rpc.py
746 733 root S 41612 4% 0% {venus-button-ha} /usr/bin/python3 -u /opt/victronenergy/venus-button-handler/venus-button-handl
773 764 root S 32736 3% 0% {localsettings.p} /usr/bin/python3 -u /opt/victronenergy/localsettings/localsettings.py --path=/
781 760 root S 30288 3% 0% {netmon} /usr/bin/python3 -u /opt/victronenergy/netmon/netmon
829 809 root S 28848 3% 0% {dbus_digitalinp} /usr/bin/python3 -u /opt/victronenergy/dbus-digitalinputs/dbus_digitalinputs.p
808 791 root S 28468 3% 0% {dbus_shelly.py} /usr/bin/python3 /opt/victronenergy/dbus-shelly/dbus_shelly.py
1555 1550 root S 27632 3% 0% {vesmart_server.} /usr/bin/python3 -u /opt/victronenergy/vesmart-server/vesmart_server.py -i hci
796 777 root S 26172 3% 0% {dbus_vebus_to_p} /usr/bin/python3 -u /opt/victronenergy/dbus-vebus-to-pvinverter/dbus_vebus_to_
828 819 root S 24688 2% 0% {dbus-acsystem.p} /usr/bin/python3 /opt/victronenergy/dbus-acsystem/dbus-acsystem.py
816 806 root S 22396 2% 0% /opt/victronenergy/dbus-fronius/dbus-fronius
742 735 root S 20172 2% 0% /opt/victronenergy/venus-access/venus-access
593 1 root S 11900 1% 0% php-fpm: master process (/etc/php-fpm.conf)
1945 1633 root S 10936 1% 0% ssh -N -o ExitOnForwardFailure=yes -o ConnectTimeout=20 -o ServerAliveInterval=10 -o ServerAlive
747 745 simple-u S 10036 1% 0% /bin/simple-upnpd --xml /var/run/simple-upnpd.xml -d
651 1 root S 9200 1% 0% /usr/sbin/wpa_supplicant -u -O /var/run/wpa_supplicant -s
1416 768 www-data S 8412 1% 0% nginx: worker process
1289 1286 root S 7928 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
1404 1402 root S 7920 1% 0% /opt/victronenergy/vecan-dbus/vecan-dbus -c socketcan:vecan0 --banner --log-before 25 --log-afte
1633 1628 root S 7908 1% 0% {setup-tunnel.sh} /bin/bash /opt/victronenergy/ssh-tunnel/setup-tunnel.sh
1317 1313 root S 7796 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
1400 1391 root S 7796 1% 0% /opt/victronenergy/vedirect-interface/vedirect-dbus -v --log-before 25 --log-after 25 -t 0 --ban
7786 7782 root S 7780 1% 0% -sh
783 751 root S 7776 1% 0% {serial-starter.} /bin/bash /opt/victronenergy/serial-starter/serial-starter.sh
758 749 root S 7776 1% 0% {navico-announce} /bin/sh /opt/victronenergy/service-advertiser/navico-announcement.sh 80 /app
1028 1 root S 7776 1% 0% -sh
1288 1029 root S 7776 1% 0% {start-mk2-dbus.} /bin/sh /opt/victronenergy/mk2-dbus/start-mk2-dbus.sh ttyS4 PRODUCT=builtin-mk
1552 1548 root S 7776 1% 0% {hostapd-run} /bin/sh /usr/sbin/hostapd-run
1313 1177 root S 7776 1% 0% {start-vedirect.} /bin/bash /opt/victronenergy/vedirect-interface/start-vedirect.sh ttyS6 PRODUC
1391 1175 root S 7776 1% 0% {start-vedirect.} /bin/bash /opt/victronenergy/vedirect-interface/start-vedirect.sh ttyS7 PRODUC

Good idea, I’ll run a long ethernet cable to eliminate WiFi. MultiPlus GX is fine, it’s just the separate Cerbero GX. I’m running Normal on both.
The 2 units are on opposite sides of the property, so 2 units and 2 separate off grid circuits.

Thanks for the update on your set-up, that makes more sense now.

Yes, I would certainly go for a bit of cable to at least eliminated the Wi-Fi, especially as it seems to load quickly at times, while terrible at other times.