We have observed our prod server is consuming many threads for sFTP operation and memory utelization is too high (above 80%). To release those threads we are explictly calling the garbage collection from a java service through scheduler.
But later we found it impacts the performance of other service ie response time of other services.
What is the best way to release the thread and memory for IS?
Any solution in this regards
Running GC manually isn’t a good idea.Instead did you had chance to research as to why your SFTP is consuming memory/not releasing connection?
What’s the time out on your SFTP connection and on the remote SFTP server?.It might be the timeout issue that’s causing the ‘thread not released’ problem.So i would start researching from that point
Thread dumps might also help in analyzing the problem
If a forced gc call is releasing the resources then there really isn’t an issue. Just wait for the JVM to gc on its own. It will. Don’t worry about memory usage above 80%. It will eventually be recovered.