RLIMIT_NOFILEをRLIM_INFINITYに設定できますか?

RLIMIT_NOFILEをRLIM_INFINITYに設定できますか?

setrlimit(C ++コードで)を使用して(、次に&および)RLIMIT_NOFILEに設定しようとしましたが、「操作が許可されていません」エラーが発生します。このコードはrootとして実行されます。RLIM_INFINITYgetrlimitrlim_currlim_maxRLIM_INFINITYsetrlimit()

設定することもRLIM_INFINITYできますかRLIMIT_NOFILE

答え1

RLIMIT_NOFILE上限は定義された最大値であり/proc/sys/fs/nr_open、それより高く設定しようとすると結果が発生しますEPERM。短時間(カーネル2.6.28を使用)設定が可能でしたが、RLIM_INFINITYこれにより一部のプログラムで大きなパフォーマンスの問題が発生しました。履歴書の提出もっと学ぶ。

この内容は次のように記録されます。EPERMその項目はman setrlimit/proc/sys/fs/nr_openで説明されています。man 5 proc

関連情報