一時的に変更する場合、以下のコマンドで設定
ulimit -n
例) ulimit -n 8192
パーマネントに、ユーザーごとに設定する場合、以下のファイルに記述
/etc/security/limits.conf
記述フォーマットは以下の通り
<domain>[ TAB ]<type>[ TAB ]<item>[ TAB ]<value>
例えば、search ユーザーのファイルディスクリプタ―を 8192 にする場合には、以下のように記述
search soft nofile 8192
search hard nofile 8192
定義した実行ユーザープロセスのファイルディスクリプタが 8192 に変更したかどうかの確認は以下のファイルに記録されている Max open files 行を参照
/proc/<プロセスID>/limits
変更前
[search@server01 ~]# cat /proc/10060/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 72704 72704 processes
Max open files 1024 1024 files
Max locked memory 32768 32768 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 72704 72704 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
変更後
[search@server01 ~]# cat /proc/10060/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 72704 72704 processes
Max open files 8192 8192 files
Max locked memory 32768 32768 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 72704 72704 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0