IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment augmenter la mémoire vive allouée à Python?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Par défaut Comment augmenter la mémoire vive allouée à Python?
    Bonjour,

    Je suis en présence d'une application qui charge plus de 600 fichiers en mémoire et qui plante avant la fin avec un 'MemoryError'.
    Il semblerait que l'objet dans lequel est chargé toutes les données (par l'intermédiaire de dictionnaires) prend trop de place.
    Le chargement plante après une utilisation de RAM à hauteur de 1,8Go environ et ce, sur n'importe quelle machine.

    J'en déduis donc que la mémoire vive allouée à Pyhton est dépassée lors du chargement de tous ces fichiers.

    La question arrive donc : comment faire, depuis le code, pour augmenter la mémoire vive allouée à Python? (il parait que c'est possible en rajoutant une ligne comme en Java mais je ne sais pas laquelle).

    Merci d'avance car c'est un problème majeur!!!

    Bonne journée à vous

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    bonjour,

    tu es sur un os 32 ou 64 bits ?
    tu es sur Windows ou Linux ?
    tu es sur un Python 32 ou 64 bits ?
    tu as combien de ram sur la machine (au total) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Par défaut
    Merci de ta réponse rapide!

    OS 32
    Windows
    Python 32
    3.25Gb de RAM

    Mais si je teste le programme sous un autre PC plus puissant (10Gb RAM), le résultat est le même : après utilisation de 1.8Gb de RAM environ, ça plante

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    je pense que tu as atteint la limite de l'os (le max de Ram allouable pour un processus unique).

    il me semble que cette limite est de 2Go sur Windows 32bits.

    sur ton PC avec 10Go de Ram si tu es aussi sous Windows 32bits (ce qui serait une hérésie ) avec python 32 bits c'est normal que ça change rien.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Je suis d'accord avec kango, par défaut, l'espace d'adressage des process sous windows 32bit est 2GB.

    Cependant, il est possible de booster la chose jusqu'à 3GB (google windows 3GB) et de mettre jusqu'à 32GB via le mode PAE (windows server only sans doute).

    Comment c'est possible?
    Il y a d'un côté les adresses virtuelles dont l'espace est limité par les 32 bits des registres correspondants. Puis les adresses physiques qui sont elles gouvernées par la taille du bus physique. Les deux ne sont pas "alignés" et d'ailleurs la plupart des processeurs 64 bits ne savent pas adresser la mémoire physique correspondante: pleins de pins sur le chip et pas grand monde peut s'offrir les TB de mémoire.

    Mais ce qui me turlupine le plus, c'est le design qui charge 600 fichiers en mémoire est-on vraiment obligé de...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    intéressant, merci Wiztricks.

    j'ai googlé car cela peut potentiellement m’intéresser (pour Windows XP 32 bits):

    http://dwf.blogs.com/beyond_the_pape...ows-vista.html

  7. #7
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonjour.

    Citation Envoyé par wiztricks Voir le message
    Mais ce qui me turlupine le plus, c'est le design qui charge 600 fichiers en mémoire est-on vraiment obligé de...
    +1

    A titre d'exemple, j'ai un projet pour taper des textes via un langage perso. qui gère les fichiers à mettre en forme ligne par ligne et non tout en bloc en stockant les infos dans un fichier via pickle, ceci pour être réutilisé plus tard par d'autres classes.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/04/2014, 14h59
  2. Comment augmenter la mémoire dispo pour WORD
    Par gronaze dans le forum VBA Word
    Réponses: 2
    Dernier message: 15/05/2009, 07h13
  3. Réponses: 4
    Dernier message: 11/07/2008, 10h37
  4. Comment liberer la mémoire vive svp ?
    Par arnofly dans le forum Windows Forms
    Réponses: 21
    Dernier message: 22/08/2007, 22h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo