Creation of user-sessions (with sudo) on Linux increases memory usage
Hi there,
we have MeshAgent running as systemd service in a LXC container running Debian 12 on a Hyper-V Host running Debian 12. Every time we query the status with systemctl status or just do kill -0 to test if it's alive the memory usage increases.
EDIT: The trigger is the new user-sessin created by sudo. See comment below.
Do you have any idea? Maybe related to #151.
$ sudo ./meshagent -info
Compiled on: 14:58:52, Nov 21 2022
Commit Hash: 650667126c2df73961de2f478ec6b0923fb17dcd
Commit Date: 2022-Nov-2 23:01:45-0700
Using OpenSSL 1.1.1s 1 Nov 2022
Agent ARCHID: 6
Detected OS: Debian GNU/Linux 12 (bookworm) - x64
systemctl status
$ ii=20; while (( ii-- )); do sudo systemctl status meshagent-vision | grep 'Memory:'; sleep .250; done
Memory: 11.7M
Memory: 13.2M
Memory: 12.5M
Memory: 13.5M
Memory: 13.6M
Memory: 15.1M
Memory: 15.3M
Memory: 16.2M
Memory: 15.3M
Memory: 16.4M
Memory: 17.0M
Memory: 16.5M
Memory: 18.2M
Memory: 17.3M
Memory: 19.0M
Memory: 18.7M
Memory: 18.6M
Memory: 19.6M
Memory: 19.1M
Memory: 19.3M
kill -0
The container root-fs is located on a separate LVM volume. I have a script running on the host which monitors the MeshAgent process with ps.
First, the MeshAgent is run on the host. After a warmup of about 4 min some null-signals are sent from a host-console to the process. Memory usage grows on each kill -0.
Second, the MeshAgent is run inside the container. After a warmup of 4 min some null-signals are sent from a host-console to the host-pid. This has no effect. Then some null-signals are sent from a container-console to the container-pid. Again, memory usage grows on each kill -0.
running on LXC host
daniel@host:~$ sudo /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent --no-embedded=1 --installedByUser=0 --agentName=foobar --meshServiceName=meshagent-foobar
Connecting to: wss://example.org:443/agent.ashx
Connected.
Server verified meshcore... Launching meshcore...
2025-08-12T20:38:45.013737+0200(CEST) ( 0) pid: 2000465 vsz: 21208 ( 0) rss: 10860 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:38:55.013677+0200(CEST) ( 9999940) pid: 2000465 vsz: 21340 ( 132) rss: 11124 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:05.015602+0200(CEST) ( 10001925) pid: 2000465 vsz: 21604 ( 264) rss: 11388 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:15.013691+0200(CEST) ( 9998089) pid: 2000465 vsz: 21868 ( 264) rss: 11652 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:25.013766+0200(CEST) ( 10000075) pid: 2000465 vsz: 22132 ( 264) rss: 11916 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:35.013627+0200(CEST) ( 9999861) pid: 2000465 vsz: 22396 ( 264) rss: 12180 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:45.013863+0200(CEST) ( 10000236) pid: 2000465 vsz: 22660 ( 264) rss: 12444 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:39:55.013757+0200(CEST) ( 9999894) pid: 2000465 vsz: 22924 ( 264) rss: 12708 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:05.014798+0200(CEST) ( 10001041) pid: 2000465 vsz: 23188 ( 264) rss: 12972 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:15.014104+0200(CEST) ( 9999306) pid: 2000465 vsz: 23188 ( 0) rss: 12972 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:25.014024+0200(CEST) ( 9999920) pid: 2000465 vsz: 23452 ( 264) rss: 13236 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:35.013779+0200(CEST) ( 9999755) pid: 2000465 vsz: 23716 ( 264) rss: 13500 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:45.014332+0200(CEST) ( 10000553) pid: 2000465 vsz: 24112 ( 396) rss: 13764 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:40:55.013774+0200(CEST) ( 9999442) pid: 2000465 vsz: 24376 ( 264) rss: 14028 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:05.015546+0200(CEST) ( 10001772) pid: 2000465 vsz: 24640 ( 264) rss: 14556 ( 528) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:15.015649+0200(CEST) ( 10000103) pid: 2000465 vsz: 24904 ( 264) rss: 14820 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:25.014733+0200(CEST) ( 9999084) pid: 2000465 vsz: 25168 ( 264) rss: 15084 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:35.015701+0200(CEST) ( 10000968) pid: 2000465 vsz: 25432 ( 264) rss: 15348 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:45.014257+0200(CEST) ( 9998556) pid: 2000465 vsz: 25696 ( 264) rss: 15612 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:41:55.017588+0200(CEST) ( 10003331) pid: 2000465 vsz: 25960 ( 264) rss: 15876 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:05.017671+0200(CEST) ( 10000083) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:15.015368+0200(CEST) ( 9997697) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:25.013576+0200(CEST) ( 9998208) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:35.015011+0200(CEST) ( 10001435) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:45.014348+0200(CEST) ( 9999337) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:42:55.014049+0200(CEST) ( 9999701) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:43:05.013684+0200(CEST) ( 9999635) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:43:15.015866+0200(CEST) ( 10002182) pid: 2000465 vsz: 25960 ( 0) rss: 15876 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ sudo kill -0 2000465
2025-08-12T20:43:25.015348+0200(CEST) ( 9999482) pid: 2000465 vsz: 26224 ( 264) rss: 16140 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:43:35.015682+0200(CEST) ( 10000334) pid: 2000465 vsz: 26884 ( 660) rss: 16668 ( 528) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:43:45.014501+0200(CEST) ( 9998819) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:43:55.014776+0200(CEST) ( 10000275) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:44:05.014087+0200(CEST) ( 9999311) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:44:15.014365+0200(CEST) ( 10000278) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:44:25.014163+0200(CEST) ( 9999798) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:44:35.014754+0200(CEST) ( 10000591) pid: 2000465 vsz: 26884 ( 0) rss: 16668 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..10}; do sudo kill -0 2000465; done
2025-08-12T20:44:45.013778+0200(CEST) ( 9999024) pid: 2000465 vsz: 27544 ( 660) rss: 17460 ( 792) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:44:55.014629+0200(CEST) ( 10000851) pid: 2000465 vsz: 28072 ( 528) rss: 17988 ( 528) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:05.014668+0200(CEST) ( 10000039) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:15.013670+0200(CEST) ( 9999002) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:25.013899+0200(CEST) ( 10000229) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:35.013970+0200(CEST) ( 10000071) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:45.013768+0200(CEST) ( 9999798) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:45:55.013937+0200(CEST) ( 10000169) pid: 2000465 vsz: 28072 ( 0) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..20}; do sudo kill -0 2000465; sleep 0.1; done
2025-08-12T20:46:05.013515+0200(CEST) ( 9999578) pid: 2000465 vsz: 28204 ( 132) rss: 17988 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:46:15.016668+0200(CEST) ( 10003153) pid: 2000465 vsz: 29656 ( 1452) rss: 19572 ( 1584) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:46:25.014417+0200(CEST) ( 9997749) pid: 2000465 vsz: 30052 ( 396) rss: 19836 ( 264) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:46:35.013946+0200(CEST) ( 9999529) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:46:45.013757+0200(CEST) ( 9999811) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:46:55.014405+0200(CEST) ( 10000648) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:05.013852+0200(CEST) ( 9999447) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:15.013831+0200(CEST) ( 9999979) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:25.013883+0200(CEST) ( 10000052) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:35.013829+0200(CEST) ( 9999946) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:45.014067+0200(CEST) ( 10000238) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:47:55.013430+0200(CEST) ( 9999363) pid: 2000465 vsz: 30052 ( 0) rss: 19836 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..100}; do sudo kill -0 2000465; sleep 0.1; done
2025-08-12T20:48:05.013764+0200(CEST) ( 10000334) pid: 2000465 vsz: 34936 ( 4884) rss: 24852 ( 5016) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:48:15.014083+0200(CEST) ( 10000319) pid: 2000465 vsz: 35992 ( 1056) rss: 25644 ( 792) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:48:25.014820+0200(CEST) ( 10000737) pid: 2000465 vsz: 36388 ( 396) rss: 26172 ( 528) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:48:35.013679+0200(CEST) ( 9998859) pid: 2000465 vsz: 36388 ( 0) rss: 26172 ( 0) /var/lib/lxc/foobar/rootfs/usr/local/mesh_services/meshagent-foobar/meshagent
running in privileged LXC container
daniel@foobar:~$ sudo /usr/local/mesh_services/meshagent-foobar/meshagent --no-embedded=1 --installedByUser=0 --agentName=foobar --meshServiceName=meshagent-foobar
Generating Certificate...
Connecting to: wss://example.org:443/agent.ashx
Connected.
Server verified meshcore... Launching meshcore...
2025-08-12T20:49:15.013837+0200(CEST) ( 0) pid: 2009108 vsz: 17752 ( 0) rss: 7008 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:49:25.015407+0200(CEST) ( 10001570) pid: 2009108 vsz: 21224 ( 3472) rss: 10944 ( 3936) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:49:35.014618+0200(CEST) ( 9999211) pid: 2009108 vsz: 21356 ( 132) rss: 11208 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:49:45.014758+0200(CEST) ( 10000140) pid: 2009108 vsz: 21620 ( 264) rss: 11472 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:49:55.013728+0200(CEST) ( 9998970) pid: 2009108 vsz: 21884 ( 264) rss: 11736 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:05.013519+0200(CEST) ( 9999791) pid: 2009108 vsz: 22148 ( 264) rss: 12000 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:15.015715+0200(CEST) ( 10002196) pid: 2009108 vsz: 22412 ( 264) rss: 12264 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:25.013712+0200(CEST) ( 9997997) pid: 2009108 vsz: 22676 ( 264) rss: 12528 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:35.013964+0200(CEST) ( 10000252) pid: 2009108 vsz: 22940 ( 264) rss: 12792 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:45.013911+0200(CEST) ( 9999947) pid: 2009108 vsz: 23204 ( 264) rss: 13056 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:50:55.013852+0200(CEST) ( 9999941) pid: 2009108 vsz: 23468 ( 264) rss: 13320 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:05.014030+0200(CEST) ( 10000178) pid: 2009108 vsz: 23732 ( 264) rss: 13584 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:15.013890+0200(CEST) ( 9999860) pid: 2009108 vsz: 23996 ( 264) rss: 13848 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:25.013660+0200(CEST) ( 9999770) pid: 2009108 vsz: 24260 ( 264) rss: 14112 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:35.021065+0200(CEST) ( 10007405) pid: 2009108 vsz: 24656 ( 396) rss: 14376 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:45.013644+0200(CEST) ( 9992579) pid: 2009108 vsz: 24920 ( 264) rss: 14904 ( 528) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:51:55.014071+0200(CEST) ( 10000427) pid: 2009108 vsz: 25184 ( 264) rss: 15168 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:05.014835+0200(CEST) ( 10000764) pid: 2009108 vsz: 25448 ( 264) rss: 15432 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:15.014248+0200(CEST) ( 9999413) pid: 2009108 vsz: 25448 ( 0) rss: 15432 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:25.014143+0200(CEST) ( 9999895) pid: 2009108 vsz: 25712 ( 264) rss: 15696 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:35.013998+0200(CEST) ( 9999855) pid: 2009108 vsz: 25976 ( 264) rss: 15960 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:45.013839+0200(CEST) ( 9999841) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:52:55.013556+0200(CEST) ( 9999717) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:53:05.014218+0200(CEST) ( 10000662) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:53:15.013736+0200(CEST) ( 9999518) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:53:25.015010+0200(CEST) ( 10001274) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:53:35.016023+0200(CEST) ( 10001013) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ sudo kill -0 2009108
2025-08-12T20:53:45.014267+0200(CEST) ( 9998244) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:53:55.013874+0200(CEST) ( 9999607) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..10}; do sudo kill -0 2009108; done
2025-08-12T20:54:05.014370+0200(CEST) ( 10000496) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:54:15.014006+0200(CEST) ( 9999636) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..20}; do sudo kill -0 2009108; sleep 0.1; done
2025-08-12T20:54:25.014528+0200(CEST) ( 10000522) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:54:35.014657+0200(CEST) ( 10000129) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## host:$ for ii in {1..100}; do sudo kill -0 2009108; sleep 0.1; done
2025-08-12T20:54:45.014191+0200(CEST) ( 9999534) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:54:55.015209+0200(CEST) ( 10001018) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ ps aux | grep meshagent | grep -vE 'sudo|grep'
## root 1361480 0.0 0.0 24656 14376 pts/5 Sl+ 20:49 0:00 /usr/local/mesh_services/meshagent-foobar/meshagent --no-embedded=1 --installedByUser=0 --agentName=foobar --meshServiceName=meshagent-foobar
2025-08-12T20:55:05.015002+0200(CEST) ( 9999793) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:55:15.016032+0200(CEST) ( 10001030) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:55:25.013990+0200(CEST) ( 9997958) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:55:35.014874+0200(CEST) ( 10000884) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:55:45.014415+0200(CEST) ( 9999541) pid: 2009108 vsz: 25976 ( 0) rss: 15960 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ sudo kill -0 1361480
2025-08-12T20:55:55.013835+0200(CEST) ( 9999420) pid: 2009108 vsz: 26372 ( 396) rss: 16224 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:56:05.015323+0200(CEST) ( 10001488) pid: 2009108 vsz: 26372 ( 0) rss: 16224 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ for ii in {1..10}; do sudo kill -0 1361480; done
2025-08-12T20:56:15.014872+0200(CEST) ( 9999549) pid: 2009108 vsz: 27164 ( 792) rss: 17016 ( 792) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:56:25.013843+0200(CEST) ( 9998971) pid: 2009108 vsz: 27164 ( 0) rss: 17016 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:56:35.014204+0200(CEST) ( 10000361) pid: 2009108 vsz: 27164 ( 0) rss: 17016 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ for ii in {1..20}; do sudo kill -0 1361480; sleep 0.1; done
2025-08-12T20:56:45.014117+0200(CEST) ( 9999913) pid: 2009108 vsz: 35612 ( 8448) rss: 25464 ( 8448) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:56:55.013996+0200(CEST) ( 9999879) pid: 2009108 vsz: 35612 ( 0) rss: 25464 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ for ii in {1..100}; do sudo kill -0 1361480; sleep 0.1; done
2025-08-12T20:57:05.013595+0200(CEST) ( 9999599) pid: 2009108 vsz: 72972 ( 37360) rss: 62952 ( 37488) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:57:15.017804+0200(CEST) ( 10004209) pid: 2009108 vsz: 76272 ( 3300) rss: 66120 ( 3168) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:57:25.014560+0200(CEST) ( 9996756) pid: 2009108 vsz: 76272 ( 0) rss: 66120 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T20:57:35.014373+0200(CEST) ( 9999813) pid: 2009108 vsz: 76272 ( 0) rss: 66120 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
monitor-meshagent
FYI, the monitoring script
#!/bin/bash
declare -A prev_ts
declare -A prev_vsz
declare -A prev_rss
while :; do
while read -r user pid cpupct mempct vsz rss tty stat start time arg0 args; do
ts=${EPOCHREALTIME}
ts_s=${ts%.*}
ts_us=$(( 10#${ts#${ts_s}.} ))
ts=$(( ( ts_s * 1000000 + ts_us ) ))
delta_ts=$(( ts - ${prev_ts[$pid]:-${ts}}))
delta_vsz=$(( vsz - ${prev_vsz[$pid]:-${vsz}} ))
delta_rss=$(( rss - ${prev_rss[$pid]:-${rss}} ))
printf '%(%FT%T)T.%06d%(%z(%Z))T (%9d) pid: %9d vsz: %9d (%6d) rss: %9d (%6d) %s \n' ${ts_s} ${ts_us} ${ts_s} ${delta_ts} ${pid} ${vsz} ${delta_vsz} ${rss} ${delta_rss} "${arg0}"
prev_ts[${pid}]=${ts}
prev_vsz[${pid}]=${vsz}
prev_rss[${pid}]=${rss}
# kill -0 ${pid}
done < <( ps aux | grep '/usr/local/mesh_services/meshagent/' | grep -vE 'sudo|grep' )
printf -v idletime '%d.%06d' 9 $(( 1000000 - 10#${EPOCHREALTIME#*.} ))
sleep ${idletime}
done
if you search the issues in this repo and meshcentral repo, this is a common thing 🐛 unforuntately im not a full C developer so i wouldnt no where to begin to debug where its leaking the only thing we have spotted is IF your internet drops or your meshcentral server goes offline then the memory will increase over a period of time because it tries to reconnect over and over again
Thanks, Simon.
The Agent is connected all the time during the test.
That's weird, even netstat leads to memory leaks.
2025-08-12T23:16:54.013923+0200(CEST) ( 0) pid: 2098204 vsz: 21224 ( 0) rss: 10916 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:04.015251+0200(CEST) ( 10001328) pid: 2098204 vsz: 21224 ( 0) rss: 11180 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:14.016184+0200(CEST) ( 10000933) pid: 2098204 vsz: 21620 ( 396) rss: 11444 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:24.013992+0200(CEST) ( 9997808) pid: 2098204 vsz: 21884 ( 264) rss: 11708 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:34.014902+0200(CEST) ( 10000910) pid: 2098204 vsz: 21884 ( 0) rss: 11708 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:44.015321+0200(CEST) ( 10000419) pid: 2098204 vsz: 22148 ( 264) rss: 11972 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:17:54.015232+0200(CEST) ( 9999911) pid: 2098204 vsz: 22412 ( 264) rss: 12236 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:04.013880+0200(CEST) ( 9998648) pid: 2098204 vsz: 22676 ( 264) rss: 12500 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:14.017281+0200(CEST) ( 10003401) pid: 2098204 vsz: 22940 ( 264) rss: 12764 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:24.014172+0200(CEST) ( 9996891) pid: 2098204 vsz: 23204 ( 264) rss: 13028 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:34.013999+0200(CEST) ( 9999827) pid: 2098204 vsz: 23468 ( 264) rss: 13292 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:44.014203+0200(CEST) ( 10000204) pid: 2098204 vsz: 23732 ( 264) rss: 13556 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:18:54.013822+0200(CEST) ( 9999619) pid: 2098204 vsz: 23996 ( 264) rss: 13820 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:04.013691+0200(CEST) ( 9999869) pid: 2098204 vsz: 24260 ( 264) rss: 14084 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:14.014857+0200(CEST) ( 10001166) pid: 2098204 vsz: 24656 ( 396) rss: 14348 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:24.014066+0200(CEST) ( 9999209) pid: 2098204 vsz: 24920 ( 264) rss: 14876 ( 528) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:34.013964+0200(CEST) ( 9999898) pid: 2098204 vsz: 25184 ( 264) rss: 15140 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:44.014036+0200(CEST) ( 10000072) pid: 2098204 vsz: 25448 ( 264) rss: 15404 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:19:54.019336+0200(CEST) ( 10005300) pid: 2098204 vsz: 25712 ( 264) rss: 15668 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:04.013728+0200(CEST) ( 9994392) pid: 2098204 vsz: 25976 ( 264) rss: 15932 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:14.015049+0200(CEST) ( 10001321) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:24.015255+0200(CEST) ( 10000206) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:34.016025+0200(CEST) ( 10000770) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:44.015343+0200(CEST) ( 9999318) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:20:54.014786+0200(CEST) ( 9999443) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:04.013970+0200(CEST) ( 9999184) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:14.016233+0200(CEST) ( 10002263) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:24.016041+0200(CEST) ( 9999808) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:34.013414+0200(CEST) ( 9997373) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:44.013734+0200(CEST) ( 10000320) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:21:54.013964+0200(CEST) ( 10000230) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:22:04.013886+0200(CEST) ( 9999922) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:22:14.014912+0200(CEST) ( 10001026) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:22:24.014055+0200(CEST) ( 9999143) pid: 2098204 vsz: 25976 ( 0) rss: 15932 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ sudo netstat -tanp | grep ' 1382864/' # 7 times
2025-08-12T23:22:34.014188+0200(CEST) ( 10000133) pid: 2098204 vsz: 28088 ( 2112) rss: 18044 ( 2112) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:22:44.014457+0200(CEST) ( 10000269) pid: 2098204 vsz: 32708 ( 4620) rss: 22532 ( 4488) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-12T23:22:54.013965+0200(CEST) ( 9999508) pid: 2098204 vsz: 32708 ( 0) rss: 22532 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
Note: ILibDuktape_ScriptContainer_Process_SignalListener()
Maybe related to https://github.com/Ylianst/MeshCentral/issues/6346
are you physically running these commands on the machine, not over ssh? or are u running them while connected to terminal with meshcentral?
also as explained im not a C developer and sadly the original developer who wrote the MeshAgent isnt around anymore so we are stuck unless the community can track down whats wrong and also identify a fix then i can at least build new agents to help people!
We found out that the memory usage is not related to systemctrl status, kill -0 or netstat.
The reason is the new user-session created by sudo.
One session from sudo bash -c 'for ii in {1..100}; do kill -0 1456896; sleep 0.1; done' leads to about 800kiB,
One-houndred sessions from for ii in {1..100}; do sudo true; sleep 0.1; done leads to about 40MiB.
Maybe there is a leak around modules/user-sessions.js:linux_Onchange_checkLoginCtl().
2025-08-13T12:09:49.013453+0200(CEST) ( 0) pid: 2226004 vsz: 21328 ( 0) rss: 11236 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:09:59.014782+0200(CEST) ( 10001329) pid: 2226004 vsz: 21328 ( 0) rss: 11236 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:09.014125+0200(CEST) ( 9999343) pid: 2226004 vsz: 21592 ( 264) rss: 11500 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:19.013303+0200(CEST) ( 9999178) pid: 2226004 vsz: 21856 ( 264) rss: 11764 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:29.017152+0200(CEST) ( 10003849) pid: 2226004 vsz: 22120 ( 264) rss: 12028 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:39.014154+0200(CEST) ( 9997002) pid: 2226004 vsz: 22384 ( 264) rss: 12292 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:49.013345+0200(CEST) ( 9999191) pid: 2226004 vsz: 22648 ( 264) rss: 12556 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:10:59.013089+0200(CEST) ( 9999744) pid: 2226004 vsz: 22912 ( 264) rss: 12820 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:09.013967+0200(CEST) ( 10000878) pid: 2226004 vsz: 23176 ( 264) rss: 13084 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:19.013865+0200(CEST) ( 9999898) pid: 2226004 vsz: 23572 ( 396) rss: 13348 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:29.016548+0200(CEST) ( 10002683) pid: 2226004 vsz: 23572 ( 0) rss: 13348 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:39.013747+0200(CEST) ( 9997199) pid: 2226004 vsz: 23836 ( 264) rss: 13612 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:49.014621+0200(CEST) ( 10000874) pid: 2226004 vsz: 24100 ( 264) rss: 13876 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:11:59.014506+0200(CEST) ( 9999885) pid: 2226004 vsz: 24364 ( 264) rss: 14140 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:09.016599+0200(CEST) ( 10002093) pid: 2226004 vsz: 24628 ( 264) rss: 14404 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:19.014371+0200(CEST) ( 9997772) pid: 2226004 vsz: 24892 ( 264) rss: 14932 ( 528) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:29.013976+0200(CEST) ( 9999605) pid: 2226004 vsz: 25156 ( 264) rss: 15196 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:39.014287+0200(CEST) ( 10000311) pid: 2226004 vsz: 25420 ( 264) rss: 15460 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:49.014067+0200(CEST) ( 9999780) pid: 2226004 vsz: 25684 ( 264) rss: 15724 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:12:59.016740+0200(CEST) ( 10002673) pid: 2226004 vsz: 25948 ( 264) rss: 15988 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:13:09.013886+0200(CEST) ( 9997146) pid: 2226004 vsz: 25948 ( 0) rss: 15988 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:13:19.014210+0200(CEST) ( 10000324) pid: 2226004 vsz: 25948 ( 0) rss: 15988 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:13:29.015707+0200(CEST) ( 10001497) pid: 2226004 vsz: 25948 ( 0) rss: 15988 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:13:39.013866+0200(CEST) ( 9998159) pid: 2226004 vsz: 25948 ( 0) rss: 15988 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ sudo systemctl status meshagent-foobar.service
2025-08-13T12:13:49.014651+0200(CEST) ( 10000785) pid: 2226004 vsz: 26740 ( 792) rss: 16780 ( 792) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:13:59.013907+0200(CEST) ( 9999256) pid: 2226004 vsz: 26740 ( 0) rss: 16780 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:14:09.013825+0200(CEST) ( 9999918) pid: 2226004 vsz: 26740 ( 0) rss: 16780 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ ps aux | grep meshagent | grep -vE 'sudo|grep'
root 1456896 # [...]
2025-08-13T12:14:19.013445+0200(CEST) ( 9999620) pid: 2226004 vsz: 26740 ( 0) rss: 16780 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:14:29.013337+0200(CEST) ( 9999892) pid: 2226004 vsz: 26740 ( 0) rss: 16780 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:14:39.013641+0200(CEST) ( 10000304) pid: 2226004 vsz: 26740 ( 0) rss: 16780 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ sudo bash -c 'for ii in {1..100}; do kill -0 1456896; sleep 0.1; done'
2025-08-13T12:14:49.014401+0200(CEST) ( 10000760) pid: 2226004 vsz: 27268 ( 528) rss: 17044 ( 264) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:14:59.014804+0200(CEST) ( 10000403) pid: 2226004 vsz: 27664 ( 396) rss: 17572 ( 528) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:15:09.014128+0200(CEST) ( 9999324) pid: 2226004 vsz: 27664 ( 0) rss: 17572 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:15:19.013608+0200(CEST) ( 9999480) pid: 2226004 vsz: 27664 ( 0) rss: 17572 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:15:29.013448+0200(CEST) ( 9999840) pid: 2226004 vsz: 27664 ( 0) rss: 17572 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:15:39.013535+0200(CEST) ( 10000087) pid: 2226004 vsz: 27664 ( 0) rss: 17572 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
## container:$ for ii in {1..100}; do sudo true; sleep 0.1; done
2025-08-13T12:15:49.013904+0200(CEST) ( 10000369) pid: 2226004 vsz: 37696 ( 10032) rss: 27604 ( 10032) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:15:59.014397+0200(CEST) ( 10000493) pid: 2226004 vsz: 68188 ( 30492) rss: 57964 ( 30360) /usr/local/mesh_services/meshagent-foobar/meshagent
2025-08-13T12:16:09.018511+0200(CEST) ( 10004114) pid: 2226004 vsz: 68188 ( 0) rss: 57964 ( 0) /usr/local/mesh_services/meshagent-foobar/meshagent
@si458 do you know an easy way to disable the handling of user-sessions in the agent? Maybe with --AgentCapabilities or a hack in meshcore.js.
@redneck-f25 unfortunately user-sessions is used in quite alot of places as you have pointed out in meshcore.js
and again sadly i have no idea what AgentCapabilities does 🤷♂️
im the frontend dev (js) and a little bit of backend (js)
but when it comes to C no chance 👎
you might have to email/message @Ylianst and see if he has any suggestions
Just to let you know: We commented out 5 lines in meshcore.js and the memory consumption looks much better now. Still looking for side effects and the root cause.
try {
// var userSession = require('user-sessions');
// userSession.on('changed', function () { onUserSessionChanged(null, false); });
// userSession.emit('changed');
// userSession.on('locked', function (user) { if(user != undefined && user != null) { onUserSessionChanged(user, true); } });
// userSession.on('unlocked', function (user) { if(user != undefined && user != null) { onUserSessionChanged(user, false); } });
} catch (ex) { }
@redneck-f25 and sadly you have now broken checking if users are logged in and if the desktops are locked :(
edit: the is the possability that its the locked and unlocked events thats the issue
as that was added 6(ish) months ago by myself, so maybe comment they out and see what happens?
https://github.com/Ylianst/MeshCentral/commit/edeef03f00147c46c37851b3225a9655a9f9754c
@si458 i know there are side-effects. currently we don't care about users on the target devices. these are servers and embedded devices. we'll dive deeper into this asap.
thank you
@redneck-f25 no thank u for at least finding what we think is another memory leak, still weird that user-sessions causes a memory leak tho?