Re: Проблема с незакрытыми дескрипторами

AlexeyK itsmegawtf at gmail.com
Mon Jun 25 11:38:48 MSD 2007


25.06.07, Exe<xmail at messir.net> написал(а):
> >> Утром на сервере вылезла проблема - как мне кажется закончились
> >> файловые дескрипторы, /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.
>
>
> А чей это был стрейс? Самопальной проги?
>
> --
> // Черный Плащ
>
>

Это был стрейс как раз /bin/login, дабы выяснить почему валится...


More information about the nginx-ru mailing list