0

特定のプロセスのメモリ リソースを制限するには、ulimit と cgroup を使用できます。

cgroup を使用している場合、1 GB の RAM を持つシステムでプロセス A に約 700 MB のメモリを割り当て、他のプロセス B には約 400 MB のメモリが必要であることを理解したいと思います。この場合はどうなりますか?

  1. プロセス A に最大 750 MB のメモリが割り当てられているが、200 MB しか使用していない場合、プロセス B は A に割り当てられたメモリを使用できますか?
  2. そうでない場合、「他のプロセスが使用できないプロセスに固定量のメモリが割り当てられている」場合のシナリオを達成する方法は?

編集

プロセスの物理メモリをロックすることは可能ですか? または、他のプロセスがアクセスできないように VM のみをロックできますか?

存続する必要があり、メモリに関して最大​​のシステム リソースを使用できるマルチメディア アプリケーションが 1 つあります。これを達成する必要があります。

ありがとう。

4

2 に答える 2

0

他のマルチメディア プログラムが他のプロセスが使用しているメモリを必要とする場合、どのようなことを同じシステムで実行しますか?

マルチメディア プロセスに重みを付けて、OOM キラーが他のすべての重要でないプロセスの後の最後の選択肢としてのみ選択するようにすることができます。カーネルがメモリを解放するために何かを強制終了するのに時間がかかる場合、ドロップ フレームが表示されることがあります。

この記事によると、 に書き込むことで、プロセスの致命的な重みを調整し/proc/pid/oom_adjます。例えば

echo -17 > /proc/2592/oom_adj
于 2015-11-16T10:25:08.457 に答える