If you set CallByValue it is like what you understand.
All calls to Remote interface methods will serialize the parameter.
If you use Local interface it will be different.
If you have huge objects it will be a significant drawback.
It might happen that the GC will work better if you use more heap space for the NewGeneration because you need it to handle more objects.
You should enable the gc logging and look whether you have long full stops 'Total time where application stopped'
I'm not sure if I understand everything in your response. Could you tell me what GC is and how i enable GC logging and increase the heap space(this i'm assuming is different from PermGen parameter). Clearly I'm not very well acquainted with Jboss internals. Thanks for the reply..
Regarding GC, perhaps these white papers will help:
* Java Garbage Collection Statistical Analysis 101
* Java Garbage Collection Performance Analysis 201
And the official docs: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html