最大オープンファイル記述子(プロセス制限)のハードコードされた上限は1048576のようです。これは正しいですか?
最近変更された場合、私のバージョンは次のようになります。
Linux mq981 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 13:41:29 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
答え1
あなたが言ったようにハードコードされているわけではありません。システムの最大数は次のとおりです。
cat /proc/sys/fs/file-max
私にとって、これは3257198になります。冒険を楽しみたい場合(即時カーネルパラメータ変更、mmmmmm)、その数を変更できます。
long
絶対最大値はこれがCの整数であるという事実によって提供されるため、最大値は2147483647です。
プロセスごとの最大値は次のとおりです。
cat /proc/sys/fs/nr_open
(私のシステムでは1048576でもあります。)
技術的にはこれはunsigned longです(fs.h
で検索を参照)。ただし、プロセスごとに開かれたファイルの数はシステム全体の最大値を下回る必要があるため、2147483647より少ないか、ユーザーの値を下回る必要があります。unsigned long max_files;
struct files_stat_struct
cat /proc/sys/fs/file-max