Я использую Debian 8.0 x64 с 72 ГБ ОЗУ с 4 дисками, настроенными как программный RAID 0.
Linux s1 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU / Linux
Я попытался установить грязные страницы на 2 ГБ кеша перед фактической записью. Я также попытался установить параметры «dirty_ratio» и «dirty_background_ratio» на использование 50% ОЗУ, но это тоже не сработало. Демон pdflush должен запускаться каждую минуту, а время истечения срока действия грязных страниц было установлено на 10 минут.
Я проверил дисковый ввод-вывод с помощью «iotop», и он показал высокую активность записи на диск. Также "cat / proc / meminfo" показал, что значение "Dirty" становится меньше (вероятно, из-за записи). Перед проверкой я запустил "синхронизацию" и "drop_caches". Я тестировал с помощью команды «dd», записывая файл нулей размером 1 ГБ.
эхо 0> / proc / sys / vm / dirty_background_ratio
эхо 2147483648> / proc / sys / vm / dirty_background_bytes
эхо 0> / proc / sys / vm / dirty_ratio
эхо 2147483648> / proc / sys / vm / dirty_bytes
эхо 6000> / proc / sys / vm / dirty_writeback_centisecs
эхо 30000> / proc / sys / vm / dirty_expire_centisecs
/ dev / md0 on / test type ext4 (rw, noatime, nodiratime, nobarrier, stripe = 512)
Предложения?
Не использовать dd
для этого тестирования. Используйте другие команды, например cp
и вы увидите, что ваш кеш записи работает нормально.
Попробуйте увеличить здесь файл md / stripe_cache_size, который вы должны создать
#/etc/udev/rules.d/83-md-stripe-cache.rules
KERNEL=="md*", ACTION=="add", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"
У меня сработало на Raid-6
И я предлагаю вам уменьшить грязный коэффициент, потому что это вызвало у меня проблемы в системе x64. Я использую эти настройки
добавить к /etc/sysctl.conf
vm.dirty_bytes = 16777216 #16Mb
vm.dirty_background_bytes = 835584 #mb