Назад | Перейти на главную страницу

Как найти размер атомарной записи для буфера журнала доступа nginx?

это ссылка на сайт говорит:

Размер буфера не должен превышать размер атомарной записи в файл на диске. Для FreeBSD этот размер не ограничен.

Как я могу узнать размер атомарной записи на моем сервере? Есть ли какая-нибудь команда, чтобы это проверить?

Я сам пытался узнать размер атомарной записи в Linux, и наиболее полезным было чтение из этого Ответ Unix Stack Exchange

Но в итоге

Это от человек 7 труба.

POSIX.1-2001 говорит, что записи write (2) размером менее PIPE_BUF должны быть атомарными: выходные данные записываются в конвейер как непрерывная последовательность. Запись более чем PIPE_BUF байтов может быть неатомарной: ядро ​​может чередовать данные с данными, записанными другими процессами. POSIX.1-2001 требует, чтобы PIPE_BUF был не менее 512 байт. (В Linux PIPE_BUF составляет 4096 байт.)

Итак, в Linux размер атомарной записи составляет 4096 байт.

Здесь вы можете найти красивую таблицу размеров PIPE_BUF для разных ОС http://ar.to/notes/posix#pipe-buf.