9
votes

Playframework - IoException incapable d'allouer la mémoire

Mon système est Mint 12 64 bits.

J'ai installé la pile Typeafe et j'ai créé une nouvelle application de lecture. Sans modifier le code que j'ai essayé de l'exécuter. Ceci est la sortie:

http://pastebin.com/6xwmsbae

jouer se plaint avec ce message d'erreur: xxx

Comment puis-je résoudre ce problème?

mise à jour:

@mef < / P>

Ok, vous étiez vraiment raison. J'ai augmenté la RAM initiale de 1 Go à 2 Go (en l'exécutant sur VirtualBox). La compilation a fonctionné exactement une fois.

Malheureusement, Java s'est décidé que même 2 Go ne suffisent pas: courir Eclipse et Firefox mon système utilise 1 Go. Ensuite, je démarre SBT et l'utilisation de la mémoire augmente à environ 1,2 Go. On pourrait penser que cela suffit. Ce n'est pas le cas. La compilation échoue avec la même erreur bien que 800 Mo reste disponible. De plus, après avoir essayé de compiler l'application, l'utilisation de la mémoire augmente jusqu'à 1,6 Go. Assez étrangement, même lors de la compilation du projet, il n'atteint jamais 2 Go mais pics à environ 1,8 Go.

Je n'ai néanmoins essayé et nourris 3 gigs de RAM à la machine virtuelle. Maintenant, la compilation et l'exécution de l'application fonctionne bien. Un autre miracle avec 3 Go de 3 Go disponible, l'utilisation de la mémoire ne dépasse jamais 1,6 Go et reste bien en dessous du maximum de 1,8 Go que j'ai vue dans l'itération de 2 Go.


3 commentaires

Très probablement, vous avez vraiment manqué de mémoire. Je ne pense pas que cela soit joué lié ...


J'ai 1 Go de RAM. Cela me surprendrait si c'était le problème, mais depuis que je utilise Virtualbox, je peux facilement augmenter la mémoire. Mal mettre à jour la question en conséquence après avoir essayé à nouveau


Tu avais raison. 1 Go ne suffit pas. J'ai encore essayé avec 2 Go et tout a fonctionné bien


3 Réponses :


3
votes

Etant donné qu'il s'agit d'une erreur générale javac , je doute qu'il soit joué lié. Très probablement, vous avez vraiment manqué de mémoire.


0 commentaires

17
votes

En réalité, ce n'est pas entièrement une erreur système: modifier les fichiers de configuration de la lecture vous permettra de le faire fonctionner sur un système avec moins de 1 Go de mémoire.

in Play-2.0.4 / Cadre (ou build.bat ), il vous suffit de modifier xxx

à xxx

Maintenant, il peut y avoir d'autres problèmes à exécuter jouer avec moins de mémoire, mais au moins la configuration de base fonctionne.


2 commentaires

+1 pour la grande réponse. J'ai déjà passé et je travaille maintenant sur un autre projet, mais je suis sûr que cela peut aider d'autres développeurs.


J'utilise java_opts = "- xms128m -xmx512m" ./activator au même effet, quelques années plus tard.



1
votes

Ceci est très bien décrit dans un autre poste et il semble être un problème avec OpenJDK.

Comment résoudre" Java.IO.IOException: erreur = 12, impossible d'allouer la mémoire "Calling Runtime # Exec ()? P >

Essayez ce qui suit: p>

# echo 1 > /proc/sys/vm/overcommit_memory


0 commentaires