it-swarm.com.de

Wie lege ich ein Speicherlimit für einen bestimmten Prozess fest?

Ich habe versucht, mpiexec -16 ... auf einem Server mit 384 GB RAM auszuführen, aber dies hat OOM Killer ausgelöst und wurde abgebrochen.

Wie kann ich ein Speicherlimit für die Ausführung von mpiexec festlegen?

Ich kenne ulimit, aber es könnte andere Prozesse beeinflussen.

Danke.

10
Benben

Ich denke, dies kann mit cgroups erledigt werden:

Erstellen Sie eine Gruppe mit dem Namen mpigroup (oder einen beliebigen Namen, den Sie wählen) mit einem Speicherlimit von beispielsweise 50 GB:

cgcreate -g memory,cpu:mpigroup
cgset -r memory.limit_in_bytes=$((50*1024*1024*1024)) mpigroup

Wenn mpiexec bereits ausgeführt wird, bringen Sie es in diese cgroup:

cgclassify -g memory,cpu:mpigroup $(pidof mpiexec)

Oder führen Sie mpiexec in dieser cgroup aus:

cgexec -g memory,cpu:mpigroup mpiexec -16 ...
9
muru