Table des matières

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 :