Outils pour utilisateurs

Outils du site


analysedonnees:gestion_memoire_r

Mieux gérer la mémoire sur R

Dans R : supprimer des objets

On peut utiliser rm(objet) pour suprimer objet de la mémoire de R. Ça ne libère pas tout de suite la mémoire, pas tant qu'il manquera réellement de la mémoire pour R.

On peut forcer cette suppression en lançant la commande gc().

Limiter la mémoire d'un processus (R/RStudio par exemple)

Pour ne pas qu'un processus (R ou RStudio par exemple) dépasse une limite qu'on aura fixée, on peut utiliser cgroup. Voilà comment on procède :

1. Installer libcgroup (sur Archlinux c'est dans AUR)

2. Créer un cgroup

sudo cgcreate -t $USER:$USER -a $USER:$USER -g memory:myGroup

Ici, $USER c'est vous.

3. Configurer la limite de mémoire Après la précédente commande, $USER a accès au dossier /sys/fs/cgroup/memory/myGroup. On peut mettre une limite comme ceci (limiter à 500 Mo):

echo 500000000 > /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes

4. Lancer la commande soumise à cette limite

cgexec -g memory:myGroup rstudio

Deux notes importantes :

  • une fois que la limite est atteinte, le processus utilisera la swap, ça peut ralentir pas mal.
  • je crois qu'il faut, à chaque redémarrage, relancer les commandes 2-4.
analysedonnees/gestion_memoire_r.txt · Dernière modification: 2021/08/16 14:13 (modification externe)