Comment définir une limite de mémoire maximale pour un processus de bloc-notes jupyter?
Si j'utilise trop RAM l'ordinateur est bloqué et je dois appuyer sur le bouton d'alimentation pour redémarrer l'ordinateur manuellement.
Existe-t-il un moyen de tuer automatiquement un processus de notebook jupyter dès qu'une limite de mémoire définie par l'utilisateur est dépassée ou de lancer une erreur de mémoire? Merci
Sous Linux, vous pouvez utiliser des "cgroups" pour limiter les ressources de tout logiciel exécuté sur votre ordinateur.
Installer cgroup-tools
avec apt-get install cgroup-tools
Modifier sa configuration /etc/cgconfig.conf
pour établir un profil pour le type particulier de travail (par exemple, calculs scientifiques numériques):
group app/numwork { memory { memory.limit_in_bytes = 500000000; } }
Appliquez cette configuration aux noms de processus qui vous intéressent en les répertoriant dans /etc/cgrules.conf
(dans mon cas, ce sont tous les exécutables Julia
, que j'exécute par jupyter
, mais vous pouvez également l'utiliser pour n'importe quel autre logiciel):
*:Julia memory app/numwork/
Enfin, analysez la configuration et définissez-la comme configuration active actuelle avec les commandes suivantes:
~# cgconfigparser -l /etc/cgconfig.conf ~# cgrulesengd
Je l'utilise pour fixer des limites aux processus s'exécutant sur un serveur utilisé par toute ma classe d'étudiants.
Cette page contient plus de détails et d'autres façons d'utiliser cgroups
https://wiki.archlinux.org/index.php/cgroups