java.lang.OutOfMemoryError STF during the Analyze phase keeps thirty seconds worth of I/O detail in memory. That is done so that when a trace probe of an I/O completion is found STF can still find the I/O start probe if that occurred less than thirty seconds earlier. Believe me, in some very difficult customer problem scenarios I have seen I/O that have taken that long.

If you run 5000 iops, keeping thirty seconds worth of detailed information in memory is not a real problem. Even 10k or 20k will work fine.

And now we have solid state devices, running 100k, 200k iops and up. Just do the math, and you know you will run into memory problems.



There is an undocumented option in STF to lower this 30-second value. In STF, go to the Settings tab, click on ?batch_prm?, enter ?-a5?, click ?Save?, and run the Analyze phase again. Of course, -a2 works fine too. Note that any I/O that takes longer than the new ?age? value you specified will not be recognized by STF, but usually two seconds should just be fine.



Henk.






Read More about [Swat Trace Facility (STF) memory problems during the Analyze phase....