Linuxサーバーを運用していて「Too many open files」に悩まされることがある。
デーモンプロセスに対して ulimit を設定したい場合、Gentoo では /etc/conf.d/ の設定ファイルに rc_ulimit を追加するだけで簡単に設定できる。
例えば Redmine のデーモンに対して最大オープンファイル数を 65535 に設定する場合:
# /etc/conf.d/redmine
rc_ulimit="-n 65535"
rc_need="nginx"
確認
/proc/[pid]/limits で確認すると、rc_ulimit="-n 65535" が設定されている場合は “Max open files” が 65535/65535 になる。
コメントアウトするとデフォルトの 1024/4096 に戻る。
便利。