-
Out of memory error
Salut à tous,
Je reprends le développement d'une grosse application sous Flex3 (genre 16 000 lignes, 250 classes...), particulièrement architecturée autour de composants mxml.
Windows XP Pro, Flex Builder 3 (l'appi, pas le plugin eclipse) sur un Xeon 3.4GHz avec 2Go ram.
Lorsque je compile le projet en regardant le gestionnaire des tâches de Windows, je vois le process java grimper jusqu'à 700Mo de mémoire. 8O En fait, avec ce qu'occupe le système, je grimpe à 1Go. Et à ce moment là, j'ai un message de Flex (pas du système) qui bloque la compilation et indique "out of memory error"... C'est un plantage de la machine java apparemment.
La seule manière de m'en sortir est de sortir de Flex, souvent de rebooter le système, et reloader le projet. Mais j'ai cette erreur à presque chaque compilation... et je ne peux presque plus travailler...:marteau:
Quelqu'un a-t-il une idée (en dehors de la taille du projet) de ce qui peut générer cette erreur, de la manière de contourner le problème?
Y a-t-il une config de Flex (ou de Windows) qui autoriserait Flex à déborder au delà de 1Go et d'exploiter l'ensemble des 2Go dont dispose ma machine? Une config du projet qui réduirait l'espace nécessaire en ram pour la compilation?
Merci à tous
-
la taille de la pile de la machine java a augmenter peut etre...
il y a une commande du genre Java -Xmx512m ou un truc du genre , tu trouveras pas mal de référence sur google avec ton erreur et cette commande ;)
tiens nous au courant si c'est bien ça :P
-
Effectivement, dans la doc en ligne, on trouve la page d'indication:
http://livedocs.adobe.com/flex/3/htm...ronment_3.html
Dans le fichier jvm.config, situé pour moi à C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\bin\jvm.config, j'ai changé la ligne par défaut:
Code:
java.args= -Xmx384m -Dsun.io.useCanonCaches=false
en
Code:
java.args=-Xms512m -Xmx768m -Dsun.io.useCanonCaches=false
Ca n'a pas planté depuis. J'attends de bosser une journée dessus sans erreur avant de marquer résolu.:roll:
Merci pour le bon tuyau :lol:!!
-
HA merde!!...
:help:
C'était pas ça... j'ai toujours le plantage de la machine Java à la compilation du projet... ce qui m'interdit de travailler...
Quelqu'un a une idée??
-
tu n'as pas une boucle infini dans ton code ?
tu détruit bien ce qui doit l'être ?
utilise le mode debug+les points d'arrêt et aussi le profiler pour trouver ou est le problème de fuite
-
Mouais, pas très clair le problème...
Non, je n'ai pas de boucle infinie... ce n'est pas une fuite de mémoire, le plantage s'effectue bien à la compilation, avant que l'exécution ne soit lancée. Une fuite ou une boucle sans fin se produirait systématiquement, et au moment du démarrage de l'appli.
J'ai réussi à alléger la compilation. Et il semble quand-même que les changements de paramètre de compilation on amélioré les performances.
Je ne sais pas trop ni où était le problème, ni ce qui l'a résolu... mais ça ne plante quasiment plus...
Retenons donc les changements de paramètres de compil.
Merci à tous.