Pb memoire, liberer la memoire

Le
Olivier Fargant
Bonjour,
j'ai un gros probleme de remplissage de la memoire de mon PC lorsque
j'execute un script python losrque que j'utilise de gros array.
Y a t'il un moyen de liberer de la memoire sans a avoir a redemarer
l'application? J'utilise PythonWin pour python24.
Merci par avance pour vos reponse.

Olivier
Vos réponses
Trier par : date / pertinence
Laurent Pointal
Le #570613
Bonjour,
j'ai un gros probleme de remplissage de la memoire de mon PC lorsque
j'execute un script python losrque que j'utilise de gros array.
Y a t'il un moyen de liberer de la memoire sans a avoir a redemarer
l'application? J'utilise PythonWin pour python24.
Merci par avance pour vos reponse.

Olivier


1) Vérifie bien que tu libères toutes les références vers les objets.

2) Essaie avec Python 2.5... au cas où ils y auraient amélioré le rendu
de mémoire à l'OS. Mais en regardant rapidement, je n'ai rien vu dessus.

hg
Le #570612
Olivier Fargant wrote:
Bonjour,
j'ai un gros probleme de remplissage de la memoire de mon PC lorsque
j'execute un script python losrque que j'utilise de gros array.
Y a t'il un moyen de liberer de la memoire sans a avoir a redemarer
l'application? J'utilise PythonWin pour python24.
Merci par avance pour vos reponse.

Olivier



Collect ? http://docs.python.org/lib/module-gc.html

hg

Amaury Forgeot d'Arc
Le #570611
Bonjour,
j'ai un gros probleme de remplissage de la memoire de mon PC lorsque
j'execute un script python losrque que j'utilise de gros array.
Y a t'il un moyen de liberer de la memoire sans a avoir a redemarer
l'application? J'utilise PythonWin pour python24.
Merci par avance pour vos reponse.

Olivier


1) Vérifie bien que tu libères toutes les références vers les objets.

2) Essaie avec Python 2.5... au cas où ils y auraient amélioré le rendu
de mémoire à l'OS. Mais en regardant rapidement, je n'ai rien vu dessus.



Si, je me rappelle qu'il y a eu des progrès faits sur le système
d'allocation mémoire en 2.5.
J'ai même retrouvé la trace dans l'historique:
http://svn.python.org/view?revC059&view=rev

Voici une traduction approximative du commentaire pour aider certains:

"...efforts héroiques de Evan Jones pour que obmalloc retourne les
arènes entièrement inutilisées au système, avec des stratégies
heuristiques pour qu'il soit plus probable que ces arènes puissent être
vraiment libérées."""
(arène = grosse plage de mémoire dans laquelle python peut s'ébattre à
l'aise)

La nouvelle version se comporte donc peut-être mieux. A essayer...

--
Amaury


Laurent Pointal
Le #580517
Amaury Forgeot d'Arc wrote:

Si, je me rappelle qu'il y a eu des progrès faits sur le système
d'allocation mémoire en 2.5.
J'ai même retrouvé la trace dans l'historique:
http://svn.python.org/view?revC059&view=rev

Voici une traduction approximative du commentaire pour aider certains:

"...efforts héroiques de Evan Jones pour que obmalloc retourne les
arènes entièrement inutilisées au système, avec des stratégies
heuristiques pour qu'il soit plus probable que ces arènes puissent être
vraiment libérées."""
(arène = grosse plage de mémoire dans laquelle python peut s'ébattre à
l'aise)

La nouvelle version se comporte donc peut-être mieux. A essayer...


Merci, je me souvenais avoir lu qq chose là dessus, mais quand j'ai consulté
les "What's new in Python 2.5", ça n'apparaît pas.

Chris
Le #580227
Bonjour,
j'ai un gros probleme de remplissage de la memoire de mon PC lorsque
j'execute un script python losrque que j'utilise de gros array.
Y a t'il un moyen de liberer de la memoire sans a avoir a redemarer
l'application? J'utilise PythonWin pour python24.
Merci par avance pour vos reponse.

Olivier


Bon je debute en python mais certain principe reste les memes
ainsi si tu as de gros array pourquoi ne pas le encapsuler dans une base
de données simple comme DBM il est peut être possible d'avoir des Giga
en fichier DBM et de gérer cela comme un dictionnaire/hash normal
sans pour autant tout charger en mémoire

Voila
quelques exemples http://pleac.sourceforge.net/pleac_python/dbaccess.html


A+
chris

Publicité
Poster une réponse
Anonyme