webentwicklung-frage-antwort-db.com.de

Speicherlimit in Jupyter Notebook

Wie lege ich ein maximales Speicherlimit für einen Jupyter Notebook-Prozess fest?

Wenn ich zu viel RAM verwende, wird der Computer blockiert und ich muss den Netzschalter drücken, um den Computer manuell neu zu starten.

Gibt es eine Möglichkeit, einen Jupyter Notebook-Prozess automatisch zu beenden, sobald ein vom Benutzer festgelegtes Speicherlimit überschritten wird, oder einen Speicherfehler zu verursachen? Vielen Dank

13
Vladimir Vargas

Unter Linux können Sie "cgroups" verwenden, um die Ressourcen für jede auf Ihrem Computer ausgeführte Software zu begrenzen.

Installiere cgroup-tools Mit apt-get install cgroup-tools

Bearbeiten Sie die Konfiguration /etc/cgconfig.conf, Um ein Profil für die bestimmte Art von Arbeit zu erstellen (z. B. numerische wissenschaftliche Berechnungen):

group app/numwork { memory { memory.limit_in_bytes = 500000000; } }

Wenden Sie diese Konfiguration auf die Prozessnamen an, die Sie interessieren, indem Sie sie in /etc/cgrules.conf Auflisten (in meinem Fall sind es alle Julia ausführbaren Dateien, die ich durch jupyter laufe, aber Sie können sie verwenden es auch für jede andere Software):

*:Julia memory app/numwork/

Analysieren Sie abschließend die Konfiguration und legen Sie sie mit den folgenden Befehlen als die aktuell aktive Konfiguration fest:

~# cgconfigparser -l /etc/cgconfig.conf ~# cgrulesengd

Ich setze damit Grenzen für Prozesse, die auf einem Server ausgeführt werden, der von meiner gesamten Klasse von Schülern verwendet wird.

Auf dieser Seite finden Sie weitere Informationen und andere Verwendungsmöglichkeiten für cgroupshttps://wiki.archlinux.org/index.php/cgroups

8
Krastanov