Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all articles
Browse latest Browse all 3102

Re: function ngx memcmp: ограничение по памяти. (3 replies)

$
0
0
Hello!

On Tue, Oct 14, 2014 at 05:42:54AM -0400, JohnBat26 wrote:

> Привет всем.
> Использую модуль nginx_push_stream_module для реализации push-механизма
> server -> browser.
> В определенный момент, когда очередной клиент пытается встать на канал,
> начинает возвращаться ошибка: unable to allocate shared memory for channel
>
> Вот кусок кода в модуле где он [nginx_push_stream_module] пытается выделить
> канал:
>
> channel = ngx_http_push_stream_find_channel(cur->id,
> r->connection->log, mcf);
> if (channel == NULL) {
> // channel not found
> ngx_shmtx_unlock(&shpool->mutex);
> ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "push stream
> module: unable to allocate shared memory for channel %s", cur->id->data);
> return NGX_HTTP_INTERNAL_SERVER_ERROR;
> }
> Как видим, если ngx_http_push_stream_find_channel вернул NULL то вылетает
> эта ошибка.

Судя по коду, текст ошибки - копипаста из другого места и/или
следствие замысловатого хода мысли автора модуля (что-нибудь вроде
"нет нужного id, зачит мы его удалили, значит у нас кончалась
память и мы его удалили").

Правильная причина указана в комментарии - канал с соответствующим
идентификатором не найден.

[...]

> Вопросы:
> - в каком случае может не хватить памяти для ngx_memcmp?
> - что она точно делает? как я понял, это сравнение памяти.

Да, это сравнение памяти. "Не хватить памяти" для сравнения - не
может, по определению. См. выше.

> - сейчас каждый воркер потребляет 30 мб всего 16 воркеров.
> - как настроить систему, nginx или и то и то, чтобы ошибка больше не
> проявлялалась

Беглый взгляд на код позволяет предположить, что размер
разделяемой памяти, которую использует модуль, настраивается с
помощью директивы push_stream_shared_memory_size. Где-то должна
быть и документация, вероятно.

--
Maxim Dounin
http://nginx.org/

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

Viewing all articles
Browse latest Browse all 3102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>