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

В этой ссылке говорится:

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

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

5
задан 26 May 2015 в 19:41
1 ответ

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

Но в итоге

Это из man 7 pipe .

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 .

1
ответ дан 3 December 2019 в 02:02

Теги

Похожие вопросы