Un bravo architetto sà che HEAP di memoria configurabile con i parametri JAVA_OPTIONS=" -xms xxxx -xmx" (su WLS WAS) o JAVA_OPTS (Tomcat e JBOSS) su non è quanto occupa il processo dell'application server, ma bensi la memoria allocata e dedicata per gli oggetti dinamici (vivi morti dell'applicazioni),
Hai un pelino di confusione ma mica tanta.....
Il processo è l'insieme della Memoria usata nello start del processo, delle librerie del classpath, startupclass, driver etc.etc.etc. e Deployato, quindi se dentro il tuo EAR per ogni componente che te hai dentro (war e ejb, gli hai ridefinito le stelle librerie) è logico che ti carica su una cosa mastodontica o metti le immagini dentro senza appoggiarti a un CMS o un Apache o usi strutture dedicate come le folder APP-INF e APP-LIB che servono per sharare le librerie a tutti i componenti del EAR, struttura propretaria di WLS
Visto che HEAP SIZE si definisce nello script di start dei Managed Server e come dicevo prima precisamente nella definizione delle JAVA_OPTIONS e non a livello di Singola applicazione quindi è comune a tutte le applicazioni deployate sul APPL.SERVER.
http://download.oracle.com/docs/cd/E...JVMTuning.html
http://www.caucho.com/resin-3.0/perf...jvm-tuning.xtp
Se fai un heap troppo piccola e invece carici diversi oggetti come sessioni, etc.etc. nell'heap questa entrarà in full garbage collection e implode il server.
Per il transfer file, beh se sei un pazzo e vuoi trasferire nella JMS quintali di dati fai pure, poi ti trovi qualcuno che inizia a definirti Threshold and Quota.