JVM Heap Space / Serveur Unix
Fermé
Halcyon
Messages postés
21
Date d'inscription
dimanche 29 juin 2008
Statut
Membre
Dernière intervention
15 juin 2014
-
12 sept. 2012 à 13:48
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 13 sept. 2012 à 12:46
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 13 sept. 2012 à 12:46
A voir également:
- JVM Heap Space / Serveur Unix
- Java heap space ✓ - Forum Java
- Space sniffer - Télécharger - Divers Utilitaires
- Comment résoudre "Java heap space" ✓ - Forum Programmation
- Association avec le serveur freebox en cours ✓ - Forum Freebox
- Fichier executable unix ✓ - Forum MacOS
3 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
12 sept. 2012 à 15:06
12 sept. 2012 à 15:06
"y'a-t-il un rapport direct avec la Ram"
Bien sûr, si tu utilises l'option -Xmx3g ça veut dire que tu autorises la JVM à utiliser jusqu'à 3 Go de RAM. Si tu fais plus et que ça plante c'est que le système ne dispose pas plus de RAM utilisable (peut-être : 4Go de RAM - utilisation système - programmes tiers = 3 Go)
Mais l'interprétation d'un fichier ne devrait pas utiliser autant de ressources !
"Je ne pense pas pouvoir optimiser plus ce code"
À mon avis, là tu te trompes !
Il y a quelques temps, dans une autre discussion, on avait à peu près le même problème, et une fois résolu l'erreur ne venait pas du tout de la lecture du fichier, et encore moins d'une erreur physique du serveur, ou autre, c'était une bête erreur dans le code...
(En l'occurrence, des requêtes de BDD étaient ouvertes pour chaque ligne du fichier, mais jamais fermées, on a corrigé le code en utilisant une seule requête pour tout le fichier.)
Il faudrait qu'on puisse voir la partie de code qui concerne la lecture de ton fichier (ouverture du flux, traitement des lignes, et fermeture), avec quelques commentaires pour expliquer ce que ça fait...
Bien sûr, si tu utilises l'option -Xmx3g ça veut dire que tu autorises la JVM à utiliser jusqu'à 3 Go de RAM. Si tu fais plus et que ça plante c'est que le système ne dispose pas plus de RAM utilisable (peut-être : 4Go de RAM - utilisation système - programmes tiers = 3 Go)
Mais l'interprétation d'un fichier ne devrait pas utiliser autant de ressources !
"Je ne pense pas pouvoir optimiser plus ce code"
À mon avis, là tu te trompes !
Il y a quelques temps, dans une autre discussion, on avait à peu près le même problème, et une fois résolu l'erreur ne venait pas du tout de la lecture du fichier, et encore moins d'une erreur physique du serveur, ou autre, c'était une bête erreur dans le code...
(En l'occurrence, des requêtes de BDD étaient ouvertes pour chaque ligne du fichier, mais jamais fermées, on a corrigé le code en utilisant une seule requête pour tout le fichier.)
Il faudrait qu'on puisse voir la partie de code qui concerne la lecture de ton fichier (ouverture du flux, traitement des lignes, et fermeture), avec quelques commentaires pour expliquer ce que ça fait...
Halcyon
Messages postés
21
Date d'inscription
dimanche 29 juin 2008
Statut
Membre
Dernière intervention
15 juin 2014
3
13 sept. 2012 à 12:21
13 sept. 2012 à 12:21
Bonjour,
Merci pour cette réponse.
Malheureusement je ne pense pas avoir le droit de divulguer mon code (secret professionnel oblige, sinon je l'aurais déjà fait), d'autant plus qu'il n'est pas de moi mais d'un prestataire (qui a déjà rencontré mon problème auparavant et m'a simplement précisé qu'il n'y avait rien à faire pour corriger ce problème).
Quand je dis que je ne peux pas plus l'optimiser, c'est parce qu'il est censé déjà l'être par ce prestataire justement.
Les fournisseurs des fichiers quant à eux utilisent 6go de mémoire allouée à leur JVM (sûrement pour générer leurs fichiers XML que j'utilise dans mon programme ensuite).
Merci pour cette réponse.
Malheureusement je ne pense pas avoir le droit de divulguer mon code (secret professionnel oblige, sinon je l'aurais déjà fait), d'autant plus qu'il n'est pas de moi mais d'un prestataire (qui a déjà rencontré mon problème auparavant et m'a simplement précisé qu'il n'y avait rien à faire pour corriger ce problème).
Quand je dis que je ne peux pas plus l'optimiser, c'est parce qu'il est censé déjà l'être par ce prestataire justement.
Les fournisseurs des fichiers quant à eux utilisent 6go de mémoire allouée à leur JVM (sûrement pour générer leurs fichiers XML que j'utilise dans mon programme ensuite).
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
13 sept. 2012 à 12:46
13 sept. 2012 à 12:46
Dans ce cas contacte ton prestataire, mais puisque "il n'y a rien à faire pour corriger ce problème", on ne peux pas faire grand chose...
Après tu peux toujours augmenter la RAM de ton serveur, mais ça peux coûter cher !
Après tu peux toujours augmenter la RAM de ton serveur, mais ça peux coûter cher !