nestes casos, um monte de coisas podem estar erradas. Sendo assim, vamos por partes ok?
* você mencionou que seu sistema faz alguns calculos meio cabulosos, correto? Neste caso, pode ser que você esteja usando memória desnecessáriamente. Ao que tudo indica, o sistema até inicia, porém cai quando os cálculos são efetuados, correto?
Nestes casos, há alguns pontos que podem ser verificados:
* Se estiver utilizando consultas pesadas no sistema, e estas consultas estiverem utilizando classes que possuam o relacionamento um-para-muitos, já vi situações nas quais o Hibernate (no caso, isto irá vazar para o GORM) ao fazer repetidas consultas utilizando a mesma classe pai cria novas instâncias para ela a cada busca. A solução para este caso poderia ser cachear durante a transação as suas instâncias das classes pai, o que resolveria parte do seu problema.
(sugiro que você nos descreva este cálculo, pois assim alguém aqui do Grails Brasil poderá ter alguma luz conosco para lhe ajudar)
* Caso o problema seja na hora de iniciar a aplicação: para minha surpresa, Grails não utiliza muita memória. Prova disto é que tenho um sistema que é executado com apenas 64 Mb (até hoje tenho arrepios de lembrar) e o bichinho inicia e executa normalmente. Não é nada de complexo, apenas alguns cadastros simples, mas funciona.
Nesta situação, em que ocorrem erros na hora de iniciar a aplicação, algo interessante a ser verificado é o Bootstrap da mesma. Se neste momento houver algum pré-processamento gigante, a memória do servidor será comida neste processo, e até o gc executar novamente, pode ser que um OutofMemory venha a ocorrer.
No entanto, com relação à inicialização, tenho uma dica para você. Inicie o servidor com o parametro -Xms igual ao -Xmx. Isto lhe dará algum ganho de performance, pois ao ser iniciado, o Tomcat já irá alocar a quantidade de memória máxima disponibilizada para ele. AO menos tem TEORIA, você estaria alocando memória RAM ao invés de virtual, o que melhoraria muito a sua performance.
Após varios testes percebi que a memoria permgem estava crescendo rapidamente e estourando em 64mb, entao aumentei a memoria para 128mb e percebi que está crescendo até uns 78mb e estabilizando. Entao por enquanto resolveu meu problema, acredito que era só o dimensionamento da memoria, mas vou continuar monitorando pra ver se para nisso ou se ainda vai crescer e estourar os 128mb...
valeu.