Tag Archives: Groovy

Limitar el uso de memoria de scripts en Groovy

Cuando lanzas múltiples procesos Groovy en una misma máquina, debes de tener cuidado con el consumo de memoria que cada proceso hace en particular para garantizar el buen uso global de dicha memoria, de manera que no malgastes innecesariamente.

En este aspecto Groovy no se comporta como yo esperaba, ya que aún sabiendo que mis procesos no requerían más de 128Mb, al lanzarlos y medirlos veía que inicialmente se me iban hasta 700Mb y que solo con el tiempo acababan reduciendo su uso por debajo de los 128Mb. Además, este descenso no era inmediato, sino que necesitaba bastante tiempo para producirse, con lo que por el camino era muy fácil que me “petara” la máquina.

Por suerte la solución es sencilla, solamente hay que establecer el uso de memoria del script Groovy en el momento de lanzarlo.

JAVA_OPTS="-Xmx128m -Xms64m -Dfile.encoding=UTF-8" groovy -c utf8 -Dfile.encoding="UTF-8" my_groovy_script.groovy

Con la instrucción anterior le estoy dando al script una memoria inicial de 64Mb, y una memoria máxima de 128Mb, con lo que me aseguro que siempre fluctúa en ese intervalo.

Advertisements