===== 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.