Gena Makhomed
March 01, 2011 07:38AM
On 01.03.2011 0:15, Kirill A. Korinskiy wrote:

> предлагаю более простой и надежный вариант решения этой проблемы:
>
> при старте nginx установить limit on number of open files
> в (40 * 1024) вместо дефолтового для системы значения 1024.
>
> это устранит проблему Too many open files во время service nginx reload,
> при этом для worker-процессов можно будет выставить любой нужный лимит
> с помощью глобальной директивы worker_rlimit_nofile в конфиге nginx.
>
>
> А если кто-то создаст очень много файлов?

если "кто-то" создаст очень много конфигурационных файлов
и выполнит service nginx reload - значит он root и ему это надо.

тем более, что при желании можно даже для master-процесса выставить
лимит в 16384, а для worker-процессов поставить лимит, например, 1024.

> Почему бы, человеку, который
> делает такие вещи не править настройки системы?

править дефолтовые настройки системы для всех процессов -
это самый худший вариант, потому что если какие-то программы
используют select - у них будут проблемы при числе дескрипторов
больше чем 1024.

# man select

NOTES
An fd_set is a fixed size buffer. Executing FD_CLR() or
FD_SET() with a value of fd that is negative or is equal to or larger than
FD_SETSIZE will result in undefined behavior. Moreover, POSIX
requires fd to be a valid file descriptor.

например, http://sourceware.org/bugzilla/show_bug.cgi?id=10352

эта ошибка в GLIBC имеет статус WONTFIX - поэтому
дефолтовые системные настройки для всех процессов трогать нельзя.

> Строить workaround для решения этой проблемы, ИМХО, глупо, когда есть
> вполне нормальные способы настройки этого параметра для системы.

параметр для ./configure - это никакой не workaround, это есть solution.

изменение этого параметра для системы приводит к stack/heap corruption.

--
Best regards,
Gena


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Не работает reload

SergeyZh February 28, 2011 04:31AM

Re: Не работает reload

Alex Vorona February 28, 2011 04:46AM

Re: Не работает reload

Gena Makhomed February 28, 2011 04:52AM

Re: Не работает reload

SergeyZh February 28, 2011 05:05AM

Re: Не работает reload

Igor Sysoev February 28, 2011 07:46AM

Re: Не работает reload

SergeyZh February 28, 2011 08:33AM

Re: Не работает reload

Igor Sysoev February 28, 2011 08:48AM

Re: Не работает reload

SergeyZh February 28, 2011 09:03AM

Re: Не работает reload

SergeyZh February 28, 2011 09:29AM

Re: Не работает reload

Igor Sysoev February 28, 2011 09:08AM

[PATCH] увеличение NGX_DEFAULT_RLIMIT_NOFILE с 1024 до (40 * 1024)

Gena Makhomed February 28, 2011 01:16PM

Re: [PATCH] увеличение NGX_DEFAULT_RLIMIT_NOFILE с 1024 до (40 * 1024)

Igor Sysoev February 28, 2011 03:44PM

[PATCH] параметр --rlimit-nofile=COUNT для конфигурирования, по умолчанию 4096

Gena Makhomed March 01, 2011 07:26AM

Re: [PATCH] увеличение NGX_DEFAULT_RLIMIT_NOFILE с 1024 до (40 * 1024)

Kirill A. Korinskiy February 28, 2011 05:16PM

[PATCH] параметр --rlimit-nofile=COUNT для конфигурирования, по умолчанию 4096

Gena Makhomed March 01, 2011 07:38AM

Re: Не работает reload

zxek November 02, 2018 03:00AM

Re: Не работает reload

raven_kg@megaline.kg November 02, 2018 03:04AM

Re: Не работает reload

zxek November 02, 2018 03:57AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 271
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready