I have an instance of FreePBX 16 (16.0.40.11) running on a Vultr VPS with two vCPUs and 4 GB of RAM. It has been working fine for approximately 4 months, then all of a sudden at 6:00 a.m. (UTC)on Friday morning (31/1) it started ramping up CPU with big spikes and constant high usage, where it has shown barely any activity prior to this.
This is a small installation with 10 extensions, some ring groups, a few inbound numbers and voicemail - very little else.
It was installed off the FreePBX distro ISO and I’m using the Vultr VPS firewall and also the FreePBX firewall.
The issue was initially noticed when the office started using the phones on Friday morning, calls were glitching and dropping out badly. I checked all the usual things like connectivity and handsets and gave the server a reboot. Since then I have tried extensive tests and possible solutions:
Updating all modules (the system was already up to date)
Disabled all but essential modules
A variety of different handsets and clients from a range of connections and locations
An alternative SIP trunk provider
Connection over a VPN from the office (usual method) and also direct through an open port (source restricted)
Checked there are no self-signed or expired certs
Deleted all MOH (we only used the default anyway)
I am at the point where I have a single extension registered via an open port, and when I call voicemail or echo those are glitching in the same way that calls are.
Below are CPU graphs for the last week from FreePBX and Vultr, plus screenshot of htop on an occasion when CPU is high. I’ve looked through logfiles for any obvious errors or anything that happened at 6am on 31/01. There doesn’t seem to be any commonality in what is causing the spikes - sometimes asterisk, sometimes httpd, sometimes sql, sometimes fwconsole, sometimes fastagi.
Even with the Vultr Firewall completely ‘closed’ (drop all) and no extensions or trunks connected, the elevated CPU remains.
I would describe my Linux ability as fundamental but capable, I have built and run many Linux based systems, but I have to look up a lot things to remind myself as I don’t use Linux on a daily basis.
I am really at a loss of where to go next… this is always my fear in deploying Linux systems for critical purposes - I just don’t know it like I know Windows when it comes to fault finding. Migrated from 3CX on an Ionos Windows VPS (due to their licence model changes) which was rock solid and essentially “set and forget” for the previous 7 years… feeling really frustrated with the system and myself!!
If any of you kind people might be able to suggest anything I could try or spot what could be going on, I’d be extremely grateful!