Recently I developed a small java application for a customer. This application receives some emails and sends out some SMS every hour. Now this customer is complaining that the server slows down after a few days the applicaion is installed. I tried to use Jprobe to diagnose the problem. Jprobe shows that after a few days the application consumes the same amount of memory and the number of objects in the application remains almost the same. However, for every passing day the page file usage shown in windows task manager seems to be increased by 100MB. I have to admin I am not very familiar with operating system and JVM. What kind of situation can cause this kind of "memory leak"?
You can use the -Xmx JVM parameter to define the maximum amount of memory available to the JVM heap. Even if your application has a memory leak, it can't go past this value - you would see OutOfMemoryErrors. So I'd check what else your client has running on that box; its probably not your Java app that is causing this.
I have found that after a few days the fault pages generated by anti virus softwares become excessive. MSMPENG.exe (Windows Defender) and RtvScan.exe (Norton) have 500M/200M fault pages respectively. I guess it is interrelated to my heavy I/O usage of my Java program. Does anyone encounter this problem before? How should I solve/diagnose it?