2012-03-19 15 views
9

Il mio sistema è Mint 12 64 bit.playframework - IOException impossibile allocare memoria

Ho installato lo stack typesafe e creato una nuova applicazione di gioco. Senza modificare il codice, ho provato a eseguirlo. Questa è l'uscita:

http://pastebin.com/6XwmsbAE

gioco si lamenta con questo messaggio di errore:

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

Come posso risolvere questo problema?

UPDATE:

@Mef

Ok si erano sicuramente giusto. Ho aumentato la RAM iniziale da 1 GB a 2 GB (eseguendo questo su virtualbox). La compilazione ha funzionato esattamente una volta.

Sfortunatamente java ha preso la sua decisione che anche 2 GB non sono sufficienti: eseguire eclipse e firefox il mio sistema usa 1 GB. Quindi avvio sbt e l'utilizzo della memoria sale a circa 1,2 GB. Si potrebbe pensare che questo sia sufficiente. Non lo è. La compilazione fallisce con lo stesso errore anche se 800 MB sono ancora disponibili. Inoltre, dopo aver provato a compilare l'applicazione, l'utilizzo della memoria sale a 1,6 GB. Stranamente anche durante la compilazione del progetto non raggiunge mai i 2 GB ma raggiunge circa 1.8 GB.

Tuttavia, ho provato di nuovo e alimentato 3 GB di RAM alla macchina virtuale. Ora la compilazione e l'esecuzione dell'applicazione funzionano correttamente. Come un altro miracolo con 3 GB disponibili, l'utilizzo della memoria non supera mai i 1,6 GB e rimane ben al di sotto del massimo di 1,8 GB che ho visto nell'iterazione da 2 GB.

+2

Molto probabilmente davvero a corto di memoria. Non penso che questo sia relativo al gioco ... – Leo

+0

Ho 1 GB di RAM. Mi sorprenderebbe se questo fosse il problema, ma dal momento che sto usando virtualbox posso facilmente aumentare la memoria. Ill aggiorno la domanda di conseguenza dopo che ho provato di nuovo – lhk

+0

Avevi ragione. 1 GB non è sufficiente.Ho provato di nuovo con 2 GB e tutto ha funzionato bene – lhk

risposta

3

Poiché si tratta di un errore generale javac, dubito che sia relativo al gioco. Molto probabilmente hai esaurito la memoria.

17

In realtà questo non è completamente un errore di sistema: modificare i file di configurazione di gioco ti consentirà di farlo funzionare su un sistema con meno di 1 GB di memoria.

In play-2.0.4/framework/build (o build.bat), è sufficiente cambiare

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

a

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

Ora ci possono essere altri problemi in esecuzione gioco con meno memoria, ma almeno le opere di configurazione di base .

+0

+1 per l'ottima risposta. Sono già passato e sto lavorando a un altro progetto, ma sono sicuro che questo possa aiutare altri sviluppatori. – lhk

+1

Questo ha risolto il mio problema nel server VPS! –

+1

Sto usando 'java_opts =" - Xms128M -Xmx512M "./Activator' con lo stesso effetto, alcuni anni dopo. –

Problemi correlati