I’ve had a project running for multiple days now, using between 2 and 4 GB of memory. This morning, I started adding perspective clients, I have 54 clients that I added this morning, and for hours afterwards it stayed around 3-4GB of memory usage.
I then edited one of my named queries (I changed a “SELECT *” to instead specify the columns it needs). After I saved, the gateway CPU spiked to 100%, you can see it in the image, I assume this was caused by all 54 of my clients reloading the project, and ever since then my memory usage has been between 4GB and 11GB. I even changed the query back to see if my simple change caused it, but I am still seeing the same behavior.
So, now, some questions:
Does the garbage collector operate in different modes? It seems like before, GC was running more frequently but keeping memory usage lower. Now it runs much less frequently but runs up to 11-12GB before dumping.
If the above answer is yes, does a project save trigger the re-evaluation of which GC mode to use?
Are there any known memory leaks with perspective clients? I have had this project running for a couple weeks with hundreds of saves. The only difference here is the clients.
After saving the project, I saw a huge number of threads generated, approximately 8000 TIMED WAITING threads. They stayed for 45 seconds or so before dwindling down to the current number of 400 timed waiting threads, which still seems much higher than before. Is this normal?