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.
А чей это был стрейс? Самопальной проги?
--
// Черный Плащ
 
 |