Java Record/Replay Vusers are running out of heap memory during long duration load test, for example when running a load test with 1000 Vusers for 5 days.
Please try the following suggestions :
1) In additional parameters use -Xmx512M -Xms512M
2) I have split the JVMs to 25 max threads per process.
For this, use MaxThreadPerProcess in the VuGen section of the *.lrp (corresponding to the protocol used) in <LoadRunner>\dat\protocols folder.
3) Disable Data Execution Prevention (DEP), User Account Control (UAC) , Windows Firewall and hyperthreading.
4) Looking at the results folder in this particular case, noticed that there are about 1000 Vuser logs and each of size 4 MB to 14 MB.
Most of them have the following 2 lines repeated and nothing else.
System.out: Starting LoadRunner Test Notify: [MsgId: MMSG-17999]
System.out: Ending LoadRunner Test Notify: [MsgId: MMSG-17999]
It looks like every iteration has these 2 lines and it is just causing a lot of I/O.
My suggestion is to remove the System.out.println from the script so that unnecessary I/O will be eliminated.
If print is needed, then instead do logging with "Send a message only when error occurs" and then enable extended logging. This way, logging will be done only when an error occurs we will have all the details for debugging.