personnes. C'est une erreur très courante, mais peu importe ce que je fais, je n'arrive pas à trouver un moyen de contourner le problème. J'utilise IDEA IntelliJ, et depuis longtemps, j'essaie d'implémenter un système d'étiquetage de rôle sémantique (SRL) qui fonctionne, et j'ai finalement décidé d'utiliser le modèle PathLSTM (https://github.com/microth/PathLSTM) pour faire de même.Java - Erreur d'espace de tas étrange continue d'être levé
Le problème est, cet algorithme dépend de fichiers de modèles qui sont aussi grands que 2.7g, car il est des opérations de l'analyse (https://drive.google.com/uc?id=0B5aLxfs6OvZBYUk2b0hLZjNqY3c&export=download)
Cela me jette un espace de tas insuffisant -. Erreur de dépassement de mémoire
Loading pipeline from
C:\Users\Vyso\Downloads\NLP\SRL\SEMAFOR\absSemafor\LTH\wttv\PathLSTM-pre-
illinois-built\srl-ACL2016-eng.model
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.reflect.Array.newInstance(Array.java:75)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1883)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1529)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1919)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1529)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1919)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1529)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
Process finished with exit code 1
Alors, naturellement, j'ai changé l'espace de tas de fois la machine virtuelle Java sur mon système, et mon IDE, où je pouvais changer les vmoptions, comme suit. (C'était -Xms128m et -Xmx512m, par défaut).
# custom IntelliJ IDEA VM options
-Xms2048m
-Xmx4000m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
Mais même après l'attribution d'environ 4G comme espace Max Heap, je reçois l'erreur. Chose amusante, dans la barre d'outils de gestion de la mémoire de mon EDI, je peux voir que le code utilise un maximum de 500m pendant l'exécution, donc je ne sais vraiment pas comment cette erreur d'espace est toujours levée. Peut-être que c'est juste une erreur de niveau débutant de mon côté, mais j'ai essayé de sortir de ce problème pendant quelques jours maintenant, et j'apprécierais vraiment si quelqu'un pouvait me donner des instructions sur la façon dont je pourrait se débarrasser de cette erreur.
Merci.
tas IDE La taille n'affecte pas la taille de segment de votre application, vous devez la spécifier dans le champ Options de configuration de la machine Exécuter/Déboguer à la place. – CrazyCoder
@CrazyCoder, Yep. Je l'ai essayé. Ça me redonne la même erreur, mon pote. Combien d'estime-t-on que je devrais faire? – user8389863