Our production Ignition Project has some serious memory leakage. I left work on Friday with usage peaking at 8GB, but was dropping back to 5GB. Come in on Monday and its pretty much flat lined at 8.5GB. Restart the gateway and it dropped massively, with the same amount of production data being processed.
Project Details - Around 10k tags, 19 Perspective Sessions, Some gateway scripts (Mostly written due to reading that this would be more efficient than transaction groups)
One big requirement is I am storing every pack weight from 9 checkweighers at around 80 packs per minute.
By itself, that isn't definitive. Java won't push garbage collection firmly until it needs to, so applications that are given lots of excess ram will drift up towards the max.
Now, there are programming techniques that can get you in trouble, like failing to re-use system.net.httpClient() instances, or storing custom python classes in the global dictionary. Look for those while monitoring ongoing memory usage.
A heap dump (optional part of a diagnostic bundle) would help. Especially if you gather one now while usage is low, and gather another later when usage is high.
Hi,
Thank you for your feedback.
Is there a normal level for it to hold, I've seen it flag the 90% warning but still not push garbage.
Doing a heap dump is my next step, just having the battle with IT 