В документации по access_log
директиве , документация Nginx говорит
Размер буфера не должен превышать размер атомарной записи в файл на диске.
Как я могу определить, что это за размер в моей системе?
В документации по access_log
директиве , документация Nginx говорит
Размер буфера не должен превышать размер атомарной записи в файл на диске.
Как я могу определить, что это за размер в моей системе?
Ответы:
лучше поздно, чем никогда :)
быстрый ответ: «2 147 479 552 байта, если версия ядра 3.14 или новее»
подробный ответ:
Насколько я понимаю, речь идет о записи системного вызова:
http://man7.org/linux/man-pages/man2/write.2.html
1) любые системы POSIX (linux, bsd, все unix) гарантированно смогут записывать до MAX_SSIZE байтов
2) Linux гарантированно сможет писать до 1,99 ГБ (и это атомарная операция для ядра Linux версии 3.14 и новее)
Но это справедливая атомарная операция только с ядром Linux 3.14
источник
Этот ответ суперпользователя дал хорошее определение атомного размера записи.
источник