Je reçois une exception java.lang.outOfMemoryError lors de l'écriture d'un gros fichier dans le servletOutputStream. Chaque réponse est par défaut encapsulée à l'aide d'un objet ehcache.constructs.web.filter pour la compression GZIP. Et selon les journaux, l'exception est levée dans l'objet Filtre. Existe-t-il un moyen d'augmenter la mémoire disponible afin que l'exception outOfMemoryError ne se produise pas?Erreur Java OutOfMemory dans le filtre
Répondre
Vous devez ajouter l'option "-Xmx1024m" à la commande java
qui exécute votre servlet conta iner. (Remplacez 1024m par la taille de segment que vous voulez, ce qui signifie 1024 mégaoctets.) Si vous utilisez, par exemple, Tomcat, cela signifie que vous définissez ceci dans la variable d'environnement CATALINA_OPTS. La configuration de votre serveur variera. Toutefois, le problème est la mise en mémoire tampon d'un tel gros fichier en mémoire. C'est du gaspillage. Essayez ce filtre de compression, qui ne cache pas de cette façon:
Le fichier a une taille de 17 Mo. Cela devrait-il causer un problème? J'utilise un serveur JBOSS. –
Je pourrais imaginer que prendre 50 + MB de tas avec toutes les structures de données intermédiaires. Et, si votre tas est laissé à la valeur par défaut d'environ 64 Mo, oui, c'est un problème. Alors que vous pouvez agrandir le tas, je pense vraiment qu'il vaut mieux utiliser un filtre qui n'a pas à charger le fichier en mémoire. Cela ne devrait pas être nécessaire, et le filtre ci-dessus ne le fait pas de cette façon. –
option Utiliser la ligne de commande -Xmx Java comme indiqué ci-dessous
java -Xms256m -Xmx512m com.test.MyMain
Xms représente extrémité inférieure de l'allocation de mémoire et Xmx représente l'extrémité supérieure de l'allocation de mémoire
Définissez les options JVM suivantes à votre conteneur de servlet -Xmx256m -Xms128m
(dans Tomcat, il est en catalina.sh
/catalina.bat
)
Ne pas oublier peut-être besoin d'augmenter la taille de votre PermGen:
-XX:PermSize=64m -XX:MaxPermSize=256m
ne De plus, assurez-vous que vous êtes efficace diffusez sur le fichier. Il peut y avoir une mise en mémoire tampon inutilement importante dans le tube de sortie ou de flux d'entrée.
Il y a environ 24k lignes (assez larges) retournées par la base de données, que j'écris dans le flux de sortie servLet. Par conséquent, il y a une quantité gargantuesque de données stockées dans la mémoire. Connaissez-vous un moyen d'améliorer cela. J'ai besoin que toutes les données récupérées soient envoyées au webClient, en une seule réponse. Par conséquent, je ne pense pas que je peux sortir des bains de données de la base de données. –
- 1. OutOfMemory Erreur espace de tas java
- 2. CreateBitmap provoque une erreur OutOfMemory
- 3. .NET OutOfMemory exception
- 4. erreur de filtre CIColorMap
- 5. .net Exception OutOfMemory
- 6. Fichiers XML volumineux dans le jeu de données (outofmemory)
- 7. Live Wallpaper OutOfMemory Erreur quand j'ai plus de 30 images
- 8. OutOfMemory pendant la recherche
- 9. Newbie OutOfMemory problème
- 10. Eclipse - Erreur Java Heap alors dans l'interface
- 11. Filtre numérique, Math en Java,
- 12. Erreur d'analyse dans le programme Java
- 13. erreur dans le code java (j2me)
- 14. Bitmap OutOfMemory sur plusieurs changements d'écran
- 15. erreur stackoverflow dans java
- 16. Linq, erreur de filtre simple ... C#
- 17. ldap filtre de recherche avec Java
- 18. Comment sauter un filtre dans la chaîne de filtre en java
- 19. BizTalk Envoyer une exception au port OutOfMemory
- 20. App App VB6 .NET DLL Exception OutOfMemory
- 21. OutOfMemory Exception lors du dessin d'un cube
- 22. Utilisation de Cpu et OutOfMemory Exception
- 23. Présentation des exceptions .NET GC et OutOfMemory
- 24. Wordpress Authentifier le filtre
- 25. OutofMemory Exception Dropdownlist lorsque autopostback = true
- 26. JSONPath: contient le filtre
- 27. Exception OutOfMemory lors du chargement d'une image dans .Net
- 28. Postgresql OutOfMemory avec Criteria.scroll() dans Hibernate avec 2M enregistrements
- 29. filtre sur le nombre (*) dans l'oracle
- 30. Réécriture d'URL dans le filtre de réponse
utilisez-vous tomcat? – Bozho