ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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.


А чей это был стрейс? Самопальной проги?

--
// Черный Плащ



 




Copyright © Lexa Software, 1996-2009.