web-dev-qa-db-fra.com

Limite de mémoire dans le portable jupyter

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

13
Vladimir Vargas

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 cgroupshttps://wiki.archlinux.org/index.php/cgroups

8
Krastanov