LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Очень много пафосных буков. Однако я таки поясню - запись, блокирующая, в mmap файл. Рано или поздно, обычно это почти периодично наблюдающийся n-байт окно, случается аномальный по времени залипон где то в дисковой подсистеме.

Если underlying fs есть tmpfs - залипон пропадает. Все остальные варианты ситуацию - не меняют.

Поэтому, как воркэраунд, до нормального решения было желание поискать fs которая пишет в память определённое (настраиваемое) количество блоков, который скидывает на диск по мере их устаревания.

Т.к. поток проводящий запись - перестанет блокироваться(надолго), получаем избавление от проблемы без переписывания стороннего компонента (хоть сорцы его и есть, но надо же ещё в апстрим насовать).

Т.к. дисковый кэш хэндлит таки все файлы в системе, а i/o и так довольно много, полагаться на него бесполезно. А то что есть проблема в приложении по моему очевидно из хэдпоста...

Проблема в приложении однозначно будет исправлена, как минимум сиё можно поправить на уровне настроек mmap, увеличив размер страницы. Однако для этого нужно переписать чужой код, и потратить время.

Исходная версия pon4ik, :

Очень много пафосных буков. Однако я таки поясню - запись, блокирующая, в mmap файл. Рано или поздно, обычно это почти периодично наблюдающийся n-байт окно, случается аномальный по времени залипон где то в дисковой подсистеме.

Если underlying fs есть tmpfs - залипон пропадает. Все остальные варианты ситуацию - не меняют.

Поэтому, как воркэраунд, до нормального решения было желание поискать fs которая пишет в память определённое (настраиваемое) количество блоков, который скидывает на диск по мере их устаревания.

Т.к. поток проводящий запись - перестанет блокироваться, получаем избавление от проблемы без переписывания стороннего компонента (хоть сорцы его и есть, но надо же ещё в апстрим насовать).

Т.к. дисковый кэш хэндлит таки все файлы в системе, а i/o и так довольно много, полагаться на него бесполезно. А то что есть проблема в приложении по моему очевидно из хэдпоста...

Проблема в приложении однозначно будет исправлена, как минимум сиё можно поправить на уровне настроек mmap, увеличив размер страницы. Однако для этого нужно переписать чужой код, и потратить время.