LINUX.ORG.RU

О буферизации данных при записи

 , , ,


0

1

А есть ли смысл в эпоху SSD держать данные в буфере в оперативке, вместо того чтобы сразу писать их на диск?

Что нужно сделать, чтобы данные сразу писались на разделы без буферизации? Ну или хотя бы чтобы период sync был маленьким (сейчас он вроде равен 30 секундам)?

Deleted

С ssd будут аналогичные проблемы,как с флешкой, по записи большого количества файлов малого размера.

anonymous ()
Ответ на: комментарий от Harald

Это понятно, вопрос в том, будет ли это как-то ощущаться, и насколько сильно.

Deleted ()
Ответ на: комментарий от Deleted

Если хочешь освободить оперативку, то был какой-то параметр для fstab, в котором указывался размер буфера, который откусывался от оперативки. Только я не помню его названия.

Deleted ()

Похоже на то, что ты пытаешься избежать и кеширования в том числе. Тогда O_DIRECT.

Если же кеширование остается, то зачем ты пытаешься помешать ядру выполнять его работу (данные из буфера постепенно уйдут на диск, если очень хочется, можно сделать fdatasync, posix_fadvise).

anonymous ()

Ну или хотя бы чтобы период sync был маленьким (сейчас он вроде равен 30 секундам)?

посмотри в сторону sysctl vm.dirty_writeback_centisecs, vm.dirty_expire_centisecs, vm.dirtytime_expire_seconds и /sys/block/sdX/bdi/{max_ratio,min_ratio}

vel ★★★★★ ()

Во первых, большинство устройств работают с фиксированными блоками. Во вторых, запись в память возвращает управление быстрее, чем в любой другой прибор,

Ты не хочешь учитывать эти детали/тормоза в своих прораммах.

DonkeyHot ★★★★★ ()

/proc/sys/vm/dirty_background_bytes

anonymous ()

SSD изнашивается, RAM более оперативна.

IPR ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.