LINUX.ORG.RU

[12309?]фризы при копировании на винтах


0

1

Имеется sda на 500 гиг, на котором крутится система и двухтерабайтный sdb. имются разделы sdbX и sdbY, sdbX в роли Downloads и sdbY в роли мультимедийного. Запускаем копирование какой-нить блурейки, и наблюдаем фееричные тормоза графики и приложений. iotop говорит про загруженость 99%, htop пишет про загрузку процентов 15-20. Gentoo, x86_64, планировщик CFQ, юзается cgroups. ПОЧЕМУ такие фееричные глюки при копировании на винте, на котором не стоит система?

upd: www.linux.org.ru/wiki/en/User:shimon/12309 - не помогло, поймал многочисленые глюки (kwin/dolphin, emerge, opera/ff)

★★★★★

Я предлагаю банить каждого, кто говорит про 12309, и при этом не упоминает, пробовал ли он совет по ссылке www.linux.org.ru/wiki/en/User:shimon/12309 и насколько он помог.

Потому что это вторая (после ссылки на лурку) ссылка в гугле по запросу 12309, черт побери.

И я совершенно серьёзно.

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

пардон, забыл добавить - перечисленые методы не помогли, взамен поймал многочисленые глюки с отваливанием kwin, непонятные ошибки при компиляции и прочая прочая (как я понял, проявляется тогда, когда память забивается хотя бы на 50%). ОЗУ 4 гига.

leg0las ★★★★★ ()
Ответ на: комментарий от geekless

Пробовал и vm.overcommit, и vm.dirty_bytes (4194304). Если я не ошибаюсь (тестил недельку назад уже) на последних поймал вышеперечисленые глюки, а первые не шибко помогли. Вечером попробоую поковырять еще.

Кусок закоментеного sysctl.conf:

#vm.overcommit_memory = 2
#vm.overcommit_ratio = 80
#vm.dirty_background_bytes = 4194304
#vm.dirty_bytes = 4194304
leg0las ★★★★★ ()
Ответ на: комментарий от leg0las

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

Сейчас у меня 8 Гб памяти и 4 Гб свопа, пока проблем не было, но ничего сверхжирного не запускается. Настройки такие:

vm.overcommit_memory = 2
vm.overcommit_ratio = 60

dirty:

vm.dirty_background_bytes = 4194304
vm.dirty_bytes = 4194304

12309 и так не было, но идея настройки показалась здравой.

GotF ★★★★★ ()
Ответ на: комментарий от leg0las

взамен поймал многочисленые глюки с отваливанием kwin, непонятные ошибки при компиляции и прочая прочая

неудивительно, overcommit_memory=2, overcommit_ratio=80 это жесточайшая настройка, а тому кто советует её в качестве борьбы с 12309 надо отрывать яйца по самые гланды.

Reset ★★★★★ ()
Ответ на: комментарий от GotF

А сколько будет лучше?

90% если памяти > 8гигов. Если памяти меньше, то вообще не включать.

Какие могут быть проблемы?

«многочисленые глюки с отваливанием kwin, непонятные ошибки при компиляции и прочая прочая»

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

90% если памяти > 8гигов. Если памяти меньше, то вообще не включать.

А если ровно? В принципе, 12309 у меня нету, настройки крутил для интереса и устранения странных пауз при еженедельном rsync'е приличного количества хлама, когда диски не шуршат, загрузка системы околонулевая, а процесс rsync о чём-то задумывался.

Проблемы с падениями всего подряд были, когда я сдуру влепил 80% при 4 Гб без свопа.

GotF ★★★★★ ()
Ответ на: комментарий от imul
persephone:~> grep CONFIG_IO_DELAY /boot/config-$(uname -r)
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set

А что это? Вроде раньше не слышал. Ведро дистрибутивное.

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

У меня самосбор
zcat /proc/config.gz | grep CONFIG_IO_DELAY
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y

Отличие только в последней строчке.

CONFIG_IO_DELAY_NONE:
No port-IO delay. Will break on old boxes that require port-IO delay for certain operations. Should work on most new machines.
Symbol: IO_DELAY_NONE [=y] Type : boolean Prompt: no port-IO delay Defined at arch/x86/Kconfig.debug:217 Depends on: <choice> Location: -> Kernel hacking -> IO delay type (<choice> [=y])

Собственно, когда 12309 был на пике популярности, где-то в рассылке подсмотрел совет сменить CONFIG_IO_DELAY на NONE. Ничего плохого не произошло. Хорошего вроде бы на глаз тоже не заметил, но, почему-то отложилось в связи с этим багом.

imul ★★★★★ ()
Ответ на: комментарий от kombrig

1. ACHI стоит в биосе, в ядре поддержка есть:

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]

2.

# eix liquorix
No matches found.

leg0las ★★★★★ ()
Ответ на: комментарий от imul
# uname -r
3.1.10-gentoo-r1-amd64-r1

на 3.2.1-r2 аналогичная ситуация.

# zcat /proc/config.gz | grep CONFIG_IO_DELAY
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y

собственно тоже что и у GotF

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

а, пардон, у imul такой же конфиг. Про IO delay type тоже читал, да собственно этот параметр часто попадается в манах, как избавится от 12309.

leg0las ★★★★★ ()
Ответ на: комментарий от geekless

Раскоментил свои dirty bytes, полет нормальный, видимо спутал с vm.overcommit_memory и vm.overcommit_ratio (просто помню, что игрался с какими-то параметрами). Запустил копирование двух блуреек - работет получше, но видно небольшие провисания (опера 20-30 вкладок, ЛО с пустым документом, аудациоус, копыто).

Еще предложения для сведения 12309 к минимуму/исчезновению?

leg0las ★★★★★ ()
Ответ на: комментарий от geekless

юзал pf-kernel`ы, были полные зависания практически на ровном месте, лечил SysRq + reisub (хотя может дело не совсем в нем) И да, возможно ли юзать (точнее будет ли толк) BFQ без BFS (BFS заменяет cgroup)

leg0las ★★★★★ ()
Ответ на: комментарий от geekless

Собрал. Отгреб какую-то хрень с невозможностью подгрузить нужный модуль для sensors. вернулся на gentoo-sources, щас ковыряюсь.

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

Еще, кхм... Всё время забываю признаться. Я в отношении 12309, применительно к винтам, слегка читерствую. У меня Promise FastTrack TX4650 PCI-E 1X. Как бы железка за $180 себя показывает немного лучше, чем бортовый чайначип за червончик. Вот такой я нехороший человек.

imul ★★★★★ ()
Ответ на: комментарий от leg0las

выполняется от рута, действует до перезагрузки отключает дефрагментацию страниц памяти, что не даёт приложениям входить в D-state, тем самым может улучшить отзывчивость приложений при копировании. Может сломать гибернацию.

В ядре версии 3.3 будет очередная попытка побороть баг.

https://lwn.net/Articles/475405/

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