Re: 500-ки, которых не пишется в error.log
Maxim Dounin
mdounin на mdounin.ru
Вт Июн 2 20:09:06 UTC 2020
Hello!
On Tue, Jun 02, 2020 at 06:57:10PM +0500, Илья Шипицин wrote:
> столкнулись с ситуацией, 500 пишется в access.log, при этом upstream_addr
> пустой, в error.log пусто.
>
> поиск по коду показывает несколько мест примерно вот таких (выделили
> память, она не выделилась, финализировали с 500-кой)
>
> http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_core_module.c#l1012
>
> есть подозрение, что мы взорвались на каком-то таком palloc-е
> мониторинг не показывает, что на хосте не хватало памяти (но, возможно, у
> palloc-а были свои проблемы).
>
> в подобных местах, когда фейлится palloc, может стоит в error.log добавить
> ошибку ? или это по каким-то причинам невозможно ?
Все ошибки palloc'а - сводятся к невозможности получить память от
системы, либо с помощью malloc(), либо с помощью posix_memalign()
или memalign(). И это будет в error log'е на уровне emerg.
Именно поэтому дополнительного логгирования в таких случаях не
делается: оно не нужно, проблема уже залоггирована на максимально
возможном уровне важности.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru