CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Libérer de la mémoire (Python/Windows7)

D3M0NI4K
D3M0NI4K
Niveau 9
19 juin 2014 à 13:47:20

Bonjour !

Je fais tourner un script Python sous windows qui doit prendre environ 12h.
Mais la mémoire continue de monter au fur et à mesure :d) http://puu.sh/9AolG/b268deb0b2.png et http://puu.sh/9Aoot/6e77ba5776.png

Il est déjà à 700Mo de mémoire :ouch: Et ça monte rapidement

J'utilise les threads dans mon script mais seul le premier thread fonctionne (sous Unix il marche no souci, pas de fuite mémoire)
Dois-je blâmer windows ou cela vient-il de mon code ?
Et si possible, existe-t'il un moyen de libérer de la mémoire sans l'arrêter et le relancer ? Et à quel moment va-t'il s'arrêter, s'il s'arrête ?
J'ai 8Go de RAM

Merci :ange:

LEpigeon-888
LEpigeon-888
Niveau 12
19 juin 2014 à 15:00:33

Il manque le code nan ? :hap:

D3M0NI4K
D3M0NI4K
Niveau 9
19 juin 2014 à 15:12:16

Le code existe bel et bien oui, que je ne partage pas, dont tu n'as pas vraiment besoin pour répondre aux 3 questions que je pose :oui:

Bunyan
Bunyan
Niveau 17
19 juin 2014 à 15:18:55

Sans étudier le code, où les extraits des bottleneck que tu auras détecté (sous réserve qu'ils soient bons), il n'est pas possible de t'aider.

Dois-je blâmer windows ou cela vient-il de mon code ?
:d) Je dirai ton code. Ca m'étonnerai grandement que Windows soit mono-thread...

Et si possible, existe-t'il un moyen de libérer de la mémoire sans l'arrêter et le relancer ? Et à quel moment va-t'il s'arrêter, s'il s'arrête ?
:d) Oui.

Je pense que tu as surtout des soucis majeurs d'algo, ou que le Python n'est pas adapté à ton besoin.
Pour pouvoir le déterminer... il faut ton code :)

D3M0NI4K
D3M0NI4K
Niveau 9
19 juin 2014 à 15:29:15

"Et si possible, existe-t'il un moyen de libérer de la mémoire sans l'arrêter et le relancer ?"

C'est pas vraiment une question fermée. Comment est-ce possible ?

godrik
godrik
Niveau 30
19 juin 2014 à 19:51:25

A prioro, il n'y a pas de memleak propre a python. Donc j'imagine que le probleme est que ton script garde trop de chose en memoire.

Caletlog
Caletlog
Niveau 10
19 juin 2014 à 20:20:18

Python utilise un système de gestion de la mémoire par ramasse-miettes, c'est-à-dire un script qui traverse la structure courante du programme à intervalles régulières ou en réponse à certains évènements, et détruis les objets qui ne sont plus référencés (et donc inaccessibles, donc à supprimer).
Concrètement, tu peux forcer l'appel de ce ramasse-miettes avec gc.collect.

Par contre, ça changera très certainement rien. Le ramasse-miettes à déjà eu le temps de passer certainement plusieurs milliers de fois en 12h.

Du coup ça vient très certainement de ton script qui fuite.
Mais sans le code, on peut pas le deviner.
Pas la peine d'être aussi méfiant, d'ailleurs, on va pas te bouffer ni te 'voler ton idée géniale'.
Débutant + script 12h + code caché, à tous les coups tu fais un truc pour faire du bruteforce, je me trompe ?

D3M0NI4K
D3M0NI4K
Niveau 9
19 juin 2014 à 23:00:02

J'irai voir sur mon code. Sous Unix j'ai 0 fuite de mémoire, et mes threads tournent sans souci. La portabilité est mal passée.

Caletlog :d) J'suis en école d'ingé, je maîtrise surtout le C et j'ai commencé le python y'a 2 semaines, et j'viens de passer sous Windows pour le rendre portable.

Avoir des fuites de mémoire sur du simple bruteforce faut y aller quand même

+ c'est pas une idée géniale, c'est un crawler de stalk, personne veut aider quelqu'un qui code ça, alors j'évite de faire tourner le code

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment