I am facing a java.lang.OutOfMemory error when i execute BenchmarkSQL…Below are the details
My test environment consists of a WindowsServer 2003 machine(RAM=12GB) with below softwares installed:
1) BenchmarkSQL 2.3.3
2)Java 6 Update 26
3)Java SE Development Kit 6 Update 26
BenchmarkSQL is being used to test an Oracle 11gr2 single instance database residing on a Linux system.
we are trying to simulate a TPC-C like environment and have chosen the number of warehouses as 800.
According to TPC-C specifications , as each warehouse has ten terminals , so we will have to take the number of terminals as 8000(800*10)
When I start off runBenchmark from command prompt , a GUI opens up . In terminals button I specify number of terminals as 8000 and number of warehouses as 800.
After this ,once I click on Create terminals, only about 2,730 terminals get created (the number of termianls I have asked for is 8000).After this the application gets hung and in a small bar in GUI it shows that Memory Usage is 99MB/113MB.
The run prompt shows that "Exception in "thread 445" java.lang.OutOfMemoryError"
I am unable to procced with the test after this…
Also If i select a smaller number of terminals , say 800, then all terminals gets created successfully and about 50MB is used out of 113MB. Once I start transactions , memory starts getting used again…Once memory used nears 100MB the application gets hung again and I get Outofmemory error and GC overhead limit exceeded.
I did increase the heap size to 1GB by running the new heap size along with BenchmarkSQl command from command prompt, but this did not help..
Eclipse shows that heap size is 495MB out of which only 50MB is being used.
I am not sure how to change the memory available to a higher value to be shown up in GUI of BenchmarkSQL instead of the default 113MB.
This should now work in version 4.1. I've never personally tried running this program with more than about 100 warehouses.