Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как я искал Bug 12309 в своем Linux или немного о параметрах dirty* : Linux

11.12.2024 18:28


15.09.2024 14:04
Со мной тут поделились трагедией в виде проявления Bug 12309.
Если вкратце, то это та самая история, обсмеяная в Windows, которая не могла работать многозадачно при форматировании дискеты (нагрузке на какой-то носитель). Как выяснилось, она в Linux тоже есть, причем, я об нее несколько раз спотыкался, но ввиду очевидности решения проблемы как-то не оценил.

Для тестов накидал скриптик
Код:
#!/bin/bash
sync; echo 3 > /proc/sys/vm/drop_caches
echo Start filegen
time dd if=/dev/urandom of=testfile bs=1M count=102400
sync; echo 3 > /proc/sys/vm/drop_caches
echo Start copy
time cp -f testfile /mnt/e/temp/
echo Sync
time sync
По умолчанию у меня в ядре было так (памяти 32Гб)
Код:
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 10
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 20
vm.dirty_writeback_centisecs = 500
vm.dirtytime_expire_seconds = 43200
Соответственно, для тестов менял на
Код:
vm.dirty_background_ratio = 1
vm.dirty_ratio = 5
в качестве инструментов наблюдения за системой использовал
Код:
vmstat -w 1
iostat -xdcm 2
cat /proc/vmstat | egrep "dirty|writeback"
while true; do echo "###" ;date ; egrep "^Cached:|^Dirty:|^Writeback:|file" /proc/meminfo; sleep 5; done
резюмирую, на mq-deadline проблемы никакой нет, изменения результатов в пределах погрешностей... Обещали, что будет дергаться курсор, как я уже говорил, он дергался, когда были BFQ и Kyber, соответственно, их я и не планировал использовать. С текущей настройкой системы ничего не дергается, разница в применении параметров ожидаема была только в том, что в одном случае быстрее было копирование, в другом - последующий sync. И в том, и другом случае скорость копирования была равномерной (подчеркну, что оба диски были BTRFS) и близкой к возможностям железа. Однако, записал для памяти идею изменения этих параметров (или соответствующих им параметров абсолютных значений vm.dirty_background_bytes и vm.dirty_bytes) на серверах СУБД со своим кешированием, большим объемом памяти и очень быстрыми хранилками. С точки зрения надежности хранения лучше эти параметры сильно занижать.
22.09.2024 14:14
Извините, но я не могу понять ваш текст. Пожалуйста, попробуйте сформулировать свою мысль более ясно и точно.
Часовой пояс GMT +3, время: 18:28.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.