This page contains an archived post to the Java Answers Forum made prior to February 25, 2002.
If you wish to participate in discussions, please visit the new
Memory Leak in JVM on Linux platform
Posted by Ernest on December 24, 2001 at 4:13 AM
I am a developer of on-line stock transaction engine, which also capture realtime quote / index data from stock exchanges and update to user frontend. All components are developed using Java and run under JVM 1.3.1_01. I have two separate Linux servers to run all the backend process and using Windows 2000 as the frontend platform.
Here is the config of the Linux servers :
server 1 : 2GB h/d, 512MB RAM, 512MB swap
redhat Linux, 2.4.2-2
server 2 : 8GB h/d, 512MB RAM, 256MB swap
redhat Linux, 2.4.7-10
There are both over 480+ MB of physical memory available (using the command "free") right after the machine being rebooted, and there is nothing special running on both Linux boxes beside my Java components and basic Linux services. After running the system for a trading day, the physical memory available on server 1 is about 4MB, server 2 is 180MB, both machine have zero swapping happened.
All the processes are being killed after each trading day, but I did notice that not all physical memory are being released after killing the JVMs. For example, there is only 80MB left on server 1 and about 300MB left on server 2, after killing all the VMs. And the situation stays as is even after 12 hrs. If I don't reboot the machine and let go for another trading day, the servers will perform not as good due to memory swapping happen. What is the possible cause ?
- memory leak Chin Loong December 24, 2001 at 5:31 AM