Limit.confの値は各プロセスに適用されますか?

Limit.confの値は各プロセスに適用されますか?

oracleユーザーに対してこのnofile値を調整していますが、/etc/security/limits.conf動作に関する質問があります。nofileユーザーが開くことができるファイルの総数に制限はありますか?みんなそのプロセスまたはユーザーが開くことができるファイルの総数を制限するかどうかそのプロセス?

具体的には、次の目的で使用されます。

oracle                  hard    nofile                  65536

ベストアンサー1

ほとんどの値はlimits.conf制限であり、ulimitシェルコマンドを使用して実行できます。setrlimitシステムコール。これはプロセスの属性です。これらの制限は各プロセスに独立して適用されます。具体的には、各プロセスには最大nofileオープンファイル数がある可能性があります。ユーザープロセスが累積できるオープンファイルの数に制限はありません。

このnproc制限は、ユーザーのすべてのプロセスを合計するため、特別なケースです。ただし、これはすべてのプロセスに適用されます。プロセスが新しいプロセスを呼び出すときに、forkプロセスのeuidに属するプロセスの数がプロセスの値より大きい場合、呼び出しはRLIMIT_NPROC拒否されます。

これlimits.confマニュアルページセッションには説明制限が適用されます。つまり、セッション内のすべてのプロセスには同じ制限が適用されます(これらのプロセスのいずれかによって変更されない限り)。これは、セッションのプロセスに対して合計が実行されるという意味ではありません。 (OSが追跡しているわけではありません。セッションの概念がありますが、セッションよりも細かくなります。たとえば、すべてのX11アプリケーションはそのセッションで終わる傾向があります。自分のセッション)。仕組みは、ログインプロセスが独自にいくつかの制限を設定し、すべての子プロセスに継承されることです。

¹例外としてはログインを拒否または影響を与えるためにログインプロセスの一部として適用されますmaxloginsmaxsysloginschroot

おすすめ記事