High CPU because garbage collector?

I’m having CPU problems with my Ignition 8.0.17, the CPU goes over 90%. I checked in the threads and it seams that there is a platform-executor that is causing the problem, it is using around 30% of CPU. I have tested different options, but the one that seems that is solving the problem is to terminate all clients that are using an specific project, it seems that this project is too big. There use to be 5 clients running the project during all the day, but they are not active clients all the time, I mean scripts and queries just run when they want to press a button and it just happens sometimes during the day, but the CPU is high even if they don’t do anything at all. In the evenings when no one is working with Ignition, but clients are still opened, the CPU decrease to 30%. Is someone with any idea how can I have this project open in 5 clients without increasing the CPU to such levels? I have tried to modify the garbage collector increasing its memory but it doesn’t help and I’m receiving this warning :“Clock drift, degraded performance, or pause-the-world detected. Max allowed deviation=1000ms, actual deviation=2093ms”

Thanks in advance!

Thread dumps during a high CPU period will tell you what Ignition is doing during those times, but clock drifts like that usually indicate that the garbage collector is struggling to stay within the bounds it’s been set to.
Can you post a screenshot of the CPU and memory usage graphs on Status → Performance?
You may just need to allocate more memory to your gateway if you’ve gone above a certain threshold of clients.

Also, 8.0 has a significant performance penalty in that it’s scanning the filesystem for changes to project resources at an aggressive rate. In 8.1.0 we lowered it to a 5 minute scan with the ability to override, but in 8.0 it’s hardcoded and can’t be changed.

here is the screenshot you demand:


I have noticed that since yesterday the CPU memory decreased a bit. I just wrote an script in my “big” project that is making clients to log out after 20 minutes of inactivity

Well, your memory trend isn’t exactly healthy (it should ideally be a pretty consistent ‘sawtooth’ pattern) but you’re not pegging against your max memory limit, which is the usual cause of clock drifts.

If you’re comfortable with it, you can analyze thread dumps yourself and try to find out what the culprit(s) are as far as CPU usage.
Whether you are or not, you should probably get in contact with our actual support department, who can get connected to your actual system and offer more specific advice.

One of the first things they’ll likely tell you to try is upgrading. It’s good advice even if you don’t contact support.