2012-03-19 14 views
9

Mi sistema es Mint 12 64bit.playframework - IOException no puede asignar memoria

He instalado la pila de tipo seguro y he creado una nueva aplicación de juego. Sin modificar el código, intenté ejecutarlo. Esta es la salida:

http://pastebin.com/6XwmsbAE

Juego se queja con este mensaje de error:

IOException: Cannot run program "javac": java.io.IOException: error=12, Cannot allocate memory 

¿Cómo puedo solucionar este problema?

ACTUALIZACIÓN:

@Mef

Ok que estaban bien, sin duda. Aumenté la RAM inicial de 1 GB a 2 GB (ejecutándola en la caja virtual). La compilación funcionó exactamente una vez.

Desafortunadamente, Java ha decidido que incluso 2 GB no son suficientes: ejecutando eclipse y firefox mi sistema usa 1 GB. Entonces comienzo sbt y el uso de la memoria se eleva a alrededor de 1,2 GB. Uno podría pensar que esto es suficiente. No lo es La compilación falla con el mismo error, aunque todavía quedan 800 MB disponibles. Además, después de tratar de compilar la aplicación, el uso de la memoria aumenta a 1,6 GB. Por extraño que parezca, incluso al compilar el proyecto, nunca alcanza los 2 GB, pero alcanza un máximo de aproximadamente 1,8 GB.

Sin embargo, he intentado de nuevo y he alimentado 3 gigas de RAM a la máquina virtual. Ahora compilar y ejecutar la aplicación funciona bien. Como otro milagro con 3 GB disponibles, el uso de memoria nunca supera los 1,6 GB y se mantiene muy por debajo del máximo de 1,8 GB que vi en la iteración de 2 GB.

+2

Lo más probable es que realmente no tiene memoria. No creo que esto sea relacionado con Play ... – Leo

+0

Tengo 1 GB de ram. Me sorprendería que ese fuera el problema, pero dado que estoy usando virtualbox, puedo aumentar la memoria fácilmente. Actualizaré la pregunta en consecuencia después de volver a intentarlo – lhk

+0

Tenías razón. 1GB no es suficienteLo intenté de nuevo con 2GB y todo funcionó bien – lhk

Respuesta

3

Dado que este es un error general javac, dudo que esté relacionado con Play. Lo más probable es que realmente te quedaste sin memoria.

17

En realidad, esto no es del todo un error del sistema: ajustar los archivos de configuración de reproducción le permitirá hacerlo funcionar en un sistema con menos de 1 GB de memoria.

En play-2.0.4/framework/build (o build.bat), sólo tiene que cambiar

java ${DEBUG_PARAM} -Xms512M -Xmx1536M ... 

a

java ${DEBUG_PARAM} -Xms128M -Xmx512M ... 

Ahora no puede haber otros problemas de funcionamiento juego con menos memoria, pero al menos los trabajos de configuración básica .

+0

+1 para la gran respuesta. Ya me mudé y ahora estoy trabajando en otro proyecto, pero estoy seguro de que esto puede ayudar a otros desarrolladores. – lhk

+1

¡Esto resolvió mi problema en el servidor VPS! –

+1

Estoy usando 'java_opts =" - Xms128M -Xmx512M "./Activator' con el mismo efecto, algunos años después. –