On Sun, Jul 12, 2009 at 05:16:32AM +0500, Алексей wrote:
root@*** [~]# ls -1 /proc/1816/fd | wc -l
1013
root@*** [~]# cat /proc/sys/fs/file-max
131072
root@*** [~]# echo 150000 > /proc/sys/fs/file-max
root@*** [~]# cat /proc/sys/fs/file-max
150000
root@*** [~]# service nginx reload
Reloading nginx: [ OK ]
root@*** [~]# tail -f /var/log/nginx/error.log
2009/07/12 04:06:13 [emerg] 1816#0: open()
"/usr/local/apache/domlogs/***-bytes_log" failed (24: Too many open
files)
Перед релоадом раскомментировал access_log который вставляется в
конфиг каждого вирт. хоста, поэтому больше 20000 явно не будет...
В /etc/security/limits.conf прописано:
nobody soft nofile 50000
root soft nofile 50000
А сколько всего используется
cat /proc/sys/fs/file-nr
?
11 июля 2009 г. 22:04 пользователь Denys Fedoryschenko
(denys@xxxxxxxxxxx) написал:
On Saturday 11 July 2009 18:03:53 Алексей wrote:
Здравствуйте!
В логах следующее:
2009/07/11 18:33:29 [emerg] 1816#0: open()
"/usr/local/apache/domlogs/***-bytes_log" failed (24: Too many open
files)
В конфиге nginx увеличение worker_rlimit_nofile до 20192; не помогло.
Ранее помогало прописывать что-то вроде ulimit -n 20000 в инит скрипте
но сейчас не помогает. Nginx запущен от nobody, как можно установить
лимит выше?
ОС CentOS 5.2
Посмотреть количество открытых файлов можно
ls -1 /proc/номер пида процесса/fd | wc -l
Возможно поможет понять сколько именно открыто.
Может уже и 20000 превысило?
--
Игорь Сысоев
http://sysoev.ru