JVM Crashes due to memory shortage ...
I have a Java application which runs as a server on my Windows 2000 Server machine having 2GB RAM and virtual memory specified as 2-4GB. I start the application with the options -Xms786m -Xms-786m.
I have around 1500 clients that connect to this server and I open 2 dedicated server sockets for each client. The clients keep sending reuests over these connections for which they get the response over these connections. I connect to an Oracle database using the oracle 'thin' driver for this.
Till recently everything was running fine until I made some very small changes such as addition of some 50-100 users and a few more request-response sets due to which I have run into trouble. My server keeps crashing as soon as it gets around 1600 clients and the memory used by the process reaches around 2GB(seen through Perfmon). Sometimes I get the error :
Exception in thread 搈ain?java.lang.OutOfMemoryError: request <size> bytes for <reason>. Out of swap space
and sometimes the jvm terminates without any error/message.
I also profiled the server but there dont seem to be any problems with the objects on the heap. I know that this is because I am running short of native heap memory. How can I identify what is causing this and is there any way to increase this limit ?

