特定のプロセスのメモリ制限を設定するにはどうすればよいですか?


10

私はmpiexec -16 ...384 GBのRAMサーバーで実行しようとしましたが、OOM Killerが発生して中止されました。

mpiexec実行のメモリ制限を設定するにはどうすればよいですか?

私は知ってulimitいますが、他のプロセスに影響を与える可能性があります。

ありがとうございました。

回答:


9

私はこれを使用して行うことができると思いますcgroups

mpigroupメモリ制限(たとえば、50GB)を付けた(または任意の名前の)cgroupを作成します。

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

次に、mpiexecがすでに実行されている場合は、このcgroupに移動します。

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

または、mpiexecこのcgroup内で実行します。

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

memoryコントローラは十分ではありません:cgcreate -g memory:mpigroup
heemayl 2016年

@heemaylはそうするべきです。私はこの例をwikiから
直接取り出しました

設定は/ sys / fs / cgroup / memory /に保存されており、sudoを使用していないときに失敗しなくてもsudoを実行する必要があります
Aquarius Power

私は物理メモリを2GBに制限して完璧に機能しましたが、仮想メモリはまだ8GBになりましたが、ワインゲームは他のすべてのLinuxアプリケーションをスワップに送信する代わりにスワップを使用するだけなので、それで問題はありませんでした。システム全体がうまく機能します!THX!
アクエリアスパワー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.