Metronome using all available memory

My YunoHost server

Hardware: Raspberry Pi at home
YunoHost version: 4.3.6.2 (stable).
I have access to my server : Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no

Description of my issue

hey ynh-land.

recently i have noticed my server being really slow, and xmpp messages not sending. when i look into htop on the server, metronome is using 100% of a CPU core and gradually swallowing all free memory.

i firstly restarted metronome visa systemctl, it worked fine for the rest of the day. then next the same issue has come up again. now if i restart it only takes 5-10 minutes for metronome to use all available memory and stall the whole server.

i am running a modified metronome.cfg.lua file: i added modules and ports for a/v calls, turn/stun server. but that was long ago, and it has worked fine since.

i’m not sure if there have been any config updates that i should merge with my version?

i’m a bit surprised by this behaviour, as i have run prosody on other servers for years at a time without ever seeing this.

metronome’s error log file is empty, while its standard log file doesn’t show anything disastrous.

perhaps someone else has had a similar issue, or has a suggestion of where to start digging around?

sudo journalctl -u metronome.service also shows nothing other than my restarting it.

we only have a handful of users, and only connect to a handful of other servers.

one thing i noticed in metronome.log is that metronome is trying to connect to the subdomain jabber.my.beloved.ynh.server, about which is says this:

incoming s2s stream my.beloved.ynh->jabber.my.beloved.ynh closed: This host does not serve jabber.my.beloved.ynh

the only other error is a failed connected to a now defunct/offline server.

logs are here
https://paste.yunohost.org/racozisidi

I noticed there are XMPP CNAME’s for multiple domains, does Metronome serve multiple domains?
It should not be a problem of course, but it reminds me that since a recent version there is an option to turn off XMPP for domains in the Yunohost domain settings. Perhaps in that same set of changes something happened that does not sit well with your added modules.

@wbk, thanks for your suggestion.

in the domain settings in the web admin, xmpp is only enabled for the main domain, not any further subdomains.

but i recall seeing dns for xmpp for other domains. i never did anything about it because i thought it was just the ynh automated default.

my ynh does also serve other domains. i have external web-app to host other sites on my server, and these are the ones that metronome is trying to use with ‘xmpp-upload’.

but i have no config for them in metronome.cfg.lua.

I don’t know whether by default XMPP is only enabled for the main domain, or that it is enabled for all domains, or whether there has been any change in that the past half year.

There has been a change in the options to configure it in the web admin, to suggest (and in some cases configure) DNS records.

On my Yunohost there is more than one domain, and without thinking about it I chat with an account on one domain via XMPP with an account on another domain, so XMPP is active for at least a couple of domains.

All this probably does not have a relation with your problem. You could try whether disabling XMPP in the domain settings and removing the CNAME’s from DNS has the effect that those not-related domains are not mentioned in the logs anymore.

If someone with better knowledge of XMPP and Metronome comes along, they can probably help you more than me!

hmm so i was wrong, it looks like theres a full xmpp conf for every single subdomain on the server!

i’m surprised ynh does that, as i’d only ever need a single domain, and why would all my apps each need their own xmpp config?

maybe adding extdisco/jingle things for turn/stun to 10 or so domains chokes up metronome…?

my config changes are these:

i wonder it is is fine to just remove all the unneeded xmpp Virtual Hosts in metronome’s /conf.d/ directory so that it doesn’t worry about all those extra subdomains, with all their extra extdisco services?

i tried removing all other domains, and the problem persists

i tried removing all jingle/stun/turn config (details in the above github issue), and memory usage remained excessive.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.