Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблема с незакрытыми дескрипторами
Утром на сервере вылезла проблема - как мне кажется закончились
файловые дескрипторы, /bin/login даже не работает, strace выводит
getrlimit(RLIMIT_NOFILE, {rlim_cur=600000, rlim_max=600000}) = 0
т.е. лимит исчерпан и далее
Почему?
On success, zero is returned. On error, -1 is returned, and
errno is
set appropriately.
rlim_cur это и есть текущий лимит.
login может не работать, например, из-за pam или нехватки памяти, своп на
сервере есть?
В dmesg страшных сообщений нету?
lsof показывает не больше 7000.
Значит дело не в дескрипторах.
close(599999) = -1 EBADF (Bad file descriptor)
...
close(599988) = -1 EBADF (Bad file descriptor)
т.е. даже не восстановить уже мертвые (ни один рабочий процесс таким
кол-вом не пользуется),
Судя по ману, getrlimit(RLIMIT_NOFILE) так и должен работать:
RLIMIT_NOFILE
Specifies a value one greater than the maximum file
descriptor
number that can be opened by this process. Attempts
(open(),
pipe(), dup(), etc.) to exceed this limit yield the
error
EMFILE.
А чей это был стрейс? Самопальной проги?
--
// Черный Плащ
|