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

R Discussion :

Fuite mémoire


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut Fuite mémoire
    Bonjour à tous,
    Je suis en train d'éditer une base de données avec la librairie RSQLite.
    Pour ce faire, je remplis 2 tables avec des données stockées sur mon ordi dans une boucle for.
    Tout se passe bien jusqu'à un "FATAL ERROR" qui m'oblige à redémarrer R.
    En fait pendant l’exécution du programme, je constate la montée en flèche du processus "rsession".
    Qui atteint allègrement les 500 mo !
    Ma question est la suivante:
    Est-il possible d'empêcher cela ?
    Je suis ouvert à toute proposition...

  2. #2
    Membre émérite

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je t'apporterais deux réponses.

    Si la fuite mémoire vient du package, à moins de reprogrammer celui-ci en isolant les fonctions qui posent problème, je ne vois pas trop de solutions. Personnellement j'utilise PostgreSQL et je n'ai jamais eu de difficulté avec le package lié à cette base. Je te dis cela dans le cas où tu souhaites changer de base de données pour travailler.

    La fuite mémoire vient peut-être de ton script, mais dans ce cas on ne peut t'aider sans une partie de ton code.

    Bien cordialement.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut
    Merci pour votre réponse.
    Ce qui est curieux c'est que même en commentant toutes les instructions de ma boucle,
    je constate que la progression en mémoire du processus rsession augmente moins vite certes,
    mais augmente quand même!
    C'est pourquoi je cherche plutôt le moyen de vider la mémoire de travail.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Par défaut
    La fonction rm permet de supprimer un objet. La fonction gc (garbage collector) permet de libérer de la mémoire.

    Cela dit, avant de te prendre la tête, ça ne te serrait pas plus simple d'augmenter la mémoire maximale de R ? (à 1,5 Go sur un OS 32 bit et à autant que la RAM de ta machine sur un OS 64 bits).

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut
    Merci Theta,
    J'ai déjà tenté de faire un rm() de mes objets (data.frame) sans succès.
    La fonction gc (garbage collector) semble être la solution idéale à mon problème.

    Quant à augmenter la taille de ma mémoire, pas besoin;
    Je tourne avec une vieille bécane estampillée W7 32 bits dotée de 1,5 Go de RAM.
    Le process monte jusqu'à 1,3 Go donc je pense qu'il est déjà au max

Discussions similaires

  1. [tomcat][memoire] java.net.URL et fuite mémoire
    Par Seiya dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 09/03/2009, 10h41
  2. [Fuites mémoire] Je cherche un utilitaire
    Par 10_GOTO_10 dans le forum C++Builder
    Réponses: 8
    Dernier message: 10/02/2005, 10h03
  3. Outil de recherche de fuite mémoire
    Par eag35 dans le forum MFC
    Réponses: 4
    Dernier message: 02/02/2005, 12h46
  4. [SWT]SWT et fuite mémoire(ou pas)
    Par menuge dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/06/2004, 21h40
  5. [debug] fuites mémoires
    Par tmonjalo dans le forum C
    Réponses: 3
    Dernier message: 28/07/2003, 17h20

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