名前でプロセスメモリを永久に制限

名前でプロセスメモリを永久に制限

私は開発のためにwebpackを使用しています。問題は、現在のプロジェクトが大規模で、約6 GBのRAM(上によればRAMの約30%)が必要であることです。

メモリを永久に制限するコマンドを実行できますか?ルートで始まることに注意してください(私たちが使っているツール - 私も知っています - 変です)

問題は、メモリが少なすぎるとコンピュータがフリーズすることです。凍らない方法を探しています。したがって、システム自体のために500 MBを予約することもできます。私は提案を受け入れる

ベストアンサー1

ハードおよび/またはソフト制限の設定に使用する場合は、一度設定するulimit [-H|S]特定のシェルについてルート以外のユーザーはハード制限を変更できません。これを行うには、非ルートプロセス所有者が実行を停止し、新しい制限を設定してから再起動する必要があります。

現在のプロジェクトの実行シェルで制限を指定する必要があります。呼び出しシェルでこれを行うと、そのシェルで開始または生成されたすべてのプロセスに制限セットが適用されます。結合された。したがって、これを念頭に置いて、最大スタックサイズ(ulimit -H -s <limit>)および/または最大常駐セットサイズulimit -H -m <limit>最大RSSの場合)。

RSSは、プロセスが占める物理メモリの一部です。

システムによっては、後者にアクセスすることもそうでない場合もあります。 (今はUbuntu OSにアクセスして確認できません。運が悪いかもしれません。)

この制限を設定すると、取得できる動作がレプリケーションの実行に対して完全に決定的ではないことに注意することが重要です。所与の瞬間にシステムが実行するタスクに応じて、ある実行から次の実行まで異なる時間にメモリブロックを交換することを決定することができる。つまり、実行中に異なる時間に異なるRSS値に達する可能性があります。たとえば、関連していない他のプロセスが同時に実行される場合です。

マニュアルページに加えて、ulimit回答と説明を確認してください。ここ

おすすめ記事