Подвисание системы (ошибка ядра 12309) (Bug 12309 - Large I/O operations result in poor interactive perform)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Подвисание системы (ошибка ядра 12309)

Сообщение denel »

В системе используется smb-server (к нему очень редко обращаются), smb-client, nfs-server, nfs-client, X, kde 4.4.5, kernel 2.6.32-r16, 2.6.35-r5, autofs, различные скрипты bash работы с сетью samba через autofs, так вот, периодически система подвисает, порой на некоторое мгновение даже курсор мыши, в чем может быть дело? Пинги тоже перестают откликаться в эти моменты (практически при любом подвисании, вроде даже когда курсор жив), как выискать информацию что его стопорит в эти моменты? При этом и KDE подвисает - с приложениями из состава его и не из состава.
PS пинг на localhost не проверял, в воскресенье сделаю все что Вы порекомендуете (в позитивном направлении))) ).

iУведомление от модератора serzh-z
Детали - https://bugzilla.kernel.org/show_bug.cgi?id=12309
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

megabaks писал(а):
15.09.2010 00:07
12309?

Ну как я понял этот баг у людей проявляется во время операция чтения/записи, а у меня то при этом ничего такого интенсивно не выполняется, просто сижу и работаю например с обозревателем или что-то еще запустил и началось... Не должно же быть такого бага даже при открытии программы, причем после открытия несколько минут чудесных тормозов, да ладно бы тормозов, так попросту подвисание....
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

12309 проявляется и при...своппинге
поэтому может возникнуть и при запуске программы и при долгом использовании например браузера(со временем они кушают памяти всё больше и больше)
поэтому не исключено
просто совет - поставь_настрой_conky(с топами и прочими дамами и картами) или запусти любой другой монитор
посмотри что происходит во время фризов (можно мониторить просто запустив в нескольких вкладках 2 копии top(atop, htop) с сортировкой по использованию проца и памяти + ещё один таб с iotop)
наблюдения сюда
иначе никто ничего дельного не подскажет...если конечно это не специфичный баг для используемого софта
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

например у меня (после Kernel hacking —>IO delay type(no port-IO delay)) 12309 проявляется ТОЛЬКО при своппинге, причём скорость записи(например) падает в 10 раз! отсюда (т.к. винт занят только своппингом) дикие фризы
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

Похоже правда тот самый баг!
Сменил планировщик и все стало на мноооого лучше!
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

denel писал(а):
23.09.2010 14:07
Сменил планировщик и все стало на мноооого лучше!
Планировщик В/В? CFQ на менее отзывчивый?

Мне не кажется это логичным решением проблемы. Сам мучаюсь несколько месяцев, после установки нового винта с 4 Кб секторами.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

почему сразу на менее отзывчивый?
есть же bfq
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

megabaks писал(а):
23.09.2010 15:12
есть же bfq
BFQ уже не первый год, но он до сих пор не включен в ядро. Это наводит на разные мысли.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

в ядро много чего не включают
сколько существовал до включения в ядро compcache например?
в 2007-ом он уже был!
а bfq первое упоминание (на старом сайте) только 2008-ой
03 April 2008. Initial release.
и да - с каких пор наличие в ванили говорит о том что проект заслуживает внимания? о_О
про rt не забыл? )
и т.д. и т.п.

я сам пользуюсь bfq - проблем никаких :)
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

serzh-z писал(а):
23.09.2010 14:28
denel писал(а):
23.09.2010 14:07
Сменил планировщик и все стало на мноооого лучше!
Планировщик В/В? CFQ на менее отзывчивый?

Мне не кажется это логичным решением проблемы. Сам мучаюсь несколько месяцев, после установки нового винта с 4 Кб секторами.

когда с CFQ система целый день подвисает, я бы не назвал его "более отзывчивым"! позже попробую еще zen-kernel
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

denel писал(а):
24.09.2010 08:36
когда с CFQ система целый день подвисает
Мне кажется, что решение проблемы в другом. Т.е. BFQ просто позволяет компенсировать тормоза системы, вызванные другой проблемой.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

именно
только вот 12309 не чинят уже ну очень много версий - попыток тоже было много, но безрезультатно
точнее одним помогает - другим нет
от 12309 помогает немного...ты не поверишь - bfs )
и bfq тоже смягчает сей баг
я лично избавился (если нет агрессивного своппинга) через Kernel hacking —>IO delay type(no port-IO delay)
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: Подвисание системы (ошибка ядра 12309)

Сообщение taaroa »

megabaks писал(а):
24.09.2010 03:37
в ядро много чего не включают
сколько существовал до включения в ядро compcache например?
в 2007-ом он уже был!
а bfq первое упоминание (на старом сайте) только 2008-ой
03 April 2008. Initial release.
и да - с каких пор наличие в ванили говорит о том что проект заслуживает внимания? о_О

( ) писал(а):Slo-Tech
Who is Linux Kernel developer you really respect? Also, don't you think that Linux needs some serious reogranisation in handling security incidents and security development in general (see many regressions in the code). Something like Microsoft's SDL maybe... What do you think about SDL anyway.
Brad Spengler
I have a lot of respect for Microsoft's attention to security, given how large of a company they are and how many people their software affects. It's a whole different security ball-game when you have the huge binary software eco-system of Windows, implementing security features while maintaining application compatibility. It's easy to gloss over how difficult of a job that is.

Linux definitely needs some central leadership/organization for security. The developers are fixing issues they know are security relevant, but they don't notify anyone (including vendors). Select vendors get notification of certain security issues, leaving smaller vendors/distros out. Upstream basically does their best to make the job of vendors difficult, and each vendor has to duplicate effort because nothing is organized. The official policy of "a bug is just a bug" hurts all Linux users. That said, some notable improvements were the addition of sparse, various hardening to functions that were constant attack vectors (getsockopt, write(), copy_*_user). They're often overly concerned about performance at the expense of security; but the couple cycles they lost on checking for negative lengths in write() for instance has saved them countless times.

...ext4_own как работал (exploit такой), так и работает, стабильная, блин, файловая система, ага.
Наличие чего либо в ванильном ядре говорит лишь о том, что это что то совпадает с политикой партии (читай, Линуса).
p.s. как же, помним те знаменитые 2 строчки кода, помним
:wq
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Подвисание системы (ошибка ядра 12309)

Сообщение vr13 »

taaroa писал(а):
24.09.2010 17:23
...ext4_own как работал (exploit такой), так и работает

с чего вы это взяли? поясните pls
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

Перешел на BFQ, пока супер-повышения "отзывчивости" не наблюдаю больно то, вроде, а может и есть, но не тормозит все равно так сильно как это было раньше... А что, при использовании ext4 это наблюдается сильней? Есть ли опыт: при переходе с ext4 на тот же btrfs этот баг уходит?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

megabaks писал(а):
24.09.2010 15:02
я лично избавился (если нет агрессивного своппинга) через Kernel hacking —>IO delay type(no port-IO delay)
Я ни разу за последние годы не наблюдал этой проблемы. Возникла она после последней замены винта для /home. Вывод о том, что нужно выяснять, чем этот винт так плох, напрашивается сам...
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

скажем так - 12309 мягко говоря "неуловимый" баг
т.е. даже выяснить причину пока не удалось никому
проявляется на абсолютно разном железе + абсолютно разных версиях и конфигурациях ядра
так что вряд ли в винте дело
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

megabaks писал(а):
25.09.2010 21:16
так что вряд ли в винте дело
Таки взялся за винт, наконец: забекапил всё и переразметил с началом раздела в 2048 секторе (до этого выравнивал иначе, но, как оказалось, ошибся немного). Ну просто очень сильно полегчало. Ранее всё зависало на 30 секунд в тот момент, когда даже, скажем, RSSOwl начинал обновлять новости и переписывать свою базу. Сейчас же - всё сносно работает при "dd if=/dev/zero of=test bs=1M count=5000".
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

megabaks
В продолжении темы: если контроллер и накопитель поддерживают NCQ, то включать для них умный программный планировщик В/В не имеет смысла. В моём случае - правильное выравнивание раздела на накопителе с 4 Кб секторами и переключение на NOOP решило почти все проблемы (небольшие подвисания, при синтетических тестах по нагрузке на диск, всё же остались, но они несущественны) с зависаниями GUI, с которыми мучался с конца весны. =)
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

и Все-таки тормоза есть на любом планировщике, но больше всего впечатлил Anticipatory I/O scheduler, в то время как приложения зависящие от IO подвисают, те что не зависят от него - продолжают очень хорошо работать, а на BFQ и CFQ если тормозило IO - тормозило всё... Под тормозами тут подразумеваю подвисание.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение megabaks »

serzh-z писал(а):
26.09.2010 16:31
megabaks
В продолжении темы: если контроллер и накопитель поддерживают NCQ, то включать для них умный программный планировщик В/В не имеет смысла. В моём случае - правильное выравнивание раздела на накопителе с 4 Кб секторами и переключение на NOOP решило почти все проблемы (небольшие подвисания, при синтетических тестах по нагрузке на диск, всё же остались, но они несущественны) с зависаниями GUI, с которыми мучался с конца весны. =)

я отлично это знаю!
поэтому на своём сайтике советую включать noop при наличии работающего ncq
т.к. cfq/bfq/anticipatory/etc ничего не знают о планах ncq :)

serzh-z писал(а):
26.09.2010 14:30
dd if=/dev/zero of=test bs=1M count=5000

не годный тест!
на интеловском железе с Kernel hacking —>IO delay type(no port-IO delay) просто не способен вызвать 12309!
надо указывать в bs больше, чем размер свободной(без учёта кэша) оперативы
т.к. это способно вызвать свопинг, а на нём 12309 проявляется на раз!
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

Ну вобщем то не знаю даже, меня эти подвисания бесить начали уже. Сейчас попробую уйти на 2.6.27 посмотрю каков полет будет там. Птылася на 2.6.16 но на нем даже сетевуха не заработала, хотя, что самое странное, драйвер был вкомпилен в ядро... Кроме смены планировщика кто еще как уходит от проблемы?
PS если свопинг начисто отключить попробовать - имеет смысл?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение serzh-z »

megabaks писал(а):
28.09.2010 01:14
на интеловском железе с Kernel hacking —>IO delay type(no port-IO delay) просто не способен вызвать 12309!
Вах! Как категорично... Ну да ладно, не буду разубеждать.
megabaks писал(а):
28.09.2010 01:14
т.к. это способно вызвать свопинг, а на нём 12309 проявляется на раз!
У меня нет свопа. Приплыли.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: Подвисание системы (ошибка ядра 12309)

Сообщение taaroa »

megabaks писал(а):
28.09.2010 01:14
т.к. это способно вызвать свопинг, а на нём 12309 проявляется на раз!

...8Gb RAM, swap отсутствует, симптомы #12309 присутствуют.
...3Gb RAM, 2Gb swap, симптомы #12309 отсутствуют.

:wq
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

Вот что в этом баге самое странное, так это то, что он начинает проявляться даже при отсутствии интенсивной нагрузки на IO. В конце концов пришлось перейти с ext4 на ext3 чтобы перейти на ядро 2.6.27-r10. В такой конфигурации система подвисать перестала. Сегодня поработаю на 2.6.32 но с той же ext3, посмотрим, как оно будет, о результатах отпишусь может вечером может ночью.
Спасибо сказали:
Аватара пользователя
Samae1L
Сообщения: 301
ОС: Gentoo x86_64

Re: Подвисание системы (ошибка ядра 12309)

Сообщение Samae1L »

megabaks писал(а):
28.09.2010 01:14
советую включать noop при наличии работающего ncq


как определить, работающий он или нет? у меня подозрения, что у меня он неработающий
Всего лишь проекция ненужного маленького человечка, влачащая бессмысленное существование в Сети.
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Подвисание системы (ошибка ядра 12309)

Сообщение DaemonTux »

Samae1L писал(а):
19.10.2010 15:49
megabaks писал(а):
28.09.2010 01:14
советую включать noop при наличии работающего ncq


как определить, работающий он или нет? у меня подозрения, что у меня он неработающий

тыц
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
Samae1L
Сообщения: 301
ОС: Gentoo x86_64

Re: Подвисание системы (ошибка ядра 12309)

Сообщение Samae1L »

DaemonTux писал(а):
19.10.2010 16:50
Samae1L писал(а):
19.10.2010 15:49
megabaks писал(а):
28.09.2010 01:14
советую включать noop при наличии работающего ncq


как определить, работающий он или нет? у меня подозрения, что у меня он неработающий

тыц


выходит, что таки работает, но при noop у меня 12309 проявлялся ещё жёстче, чем при bfq
Всего лишь проекция ненужного маленького человечка, влачащая бессмысленное существование в Сети.
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux
Контактная информация:

Re: Подвисание системы (ошибка ядра 12309)

Сообщение denel »

Еще спросить хочу. У меня на серваке при проявлении 12309 даже на старой ФС ext3 при копировании /usr/portage в корень iotop показывает 99% загрузку mdX_raid10, либо начинает показывать все по нулям, при том как и запись и чтение устанавливаются в 0 и при этом светодиод HDD на системнике постоянно светится, вот думаю это или со шлейфами проблема или проблема с программным массивом 10-го уровня. У кого эта ошибка еще проявляется, Вы программный массив не используете? Хотя врятли из-за него, вот на другой машине с сетью вроде тоже аналогичная происходит.

В конфигурации этого серва есть еще один хард, который не внесен в массив. Дополнительное тестирование выявило, что копирование этой директории внутри того харда 12309 не вызывает, по крайней мере не вызывает на столько жестоко (а по моему и вовсе нет). А еще на моем домашнем компе где raid0 используется - проблема такая тоже не наблюдается. К сожалению у меня нет больше конфигураций на raid10, чтобы проверить. Шлейфы попробовать поменять все чтоли? SATA там используется, блин денег как бы вытрясти с бухгалтерии... :(
PS На сервере работает 2.6.32 и с этим я ничего пока не могу поделать. Контента на 1 ТБ, на новой ФС ext4, и никуда его скинуть пока не могу (есть место куда 600 ГБ можно слить, но еще 400 пока не знаю куда деть)
Спасибо сказали:
Ответить