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アプリケーションはそのセッションで終わる傾向があります。自分のセッション)。仕組みは、ログインプロセスが独自にいくつかの制限を設定し、すべての子プロセスに継承されることです。
¹例外としては、ログインを拒否または影響を与えるためにログインプロセスの一部として適用されます。maxlogins
maxsyslogins
chroot