RT-ядро в Убунту. Быстро и без головной боли.

    Недавно прочитал статью небезызвестного в кругах «дебианщиков» и «убунтушников»
    блогера virens'а про realtime ядро. Оригинал тут.
    Меня данная тема заинтересовала, так как проблемы плохой отзывчивости системы при больших нагрузках свойственны и моему ноутбуку.

    Но тут появился другая сторона решения проблемы — уж очень не хотелось накладывать патчи и пересобирать ядро. Тут и лень перемешалась, и нежелание убивать n-ое количество времени на скачивание, распаковку, применение, сборку, а главное — исправление ошибок своей сборки.
    Но RT-ядро хочется. Сегодня утром меня озарила идея покопаться в репозиториях Убунты (у меня 7.10 бета), и, о чудо! Отыскался мета-пакет linux-image-rt, который по зависимостям потянул и сам образ ядра, и все необходимые модули. Все скачалось, установилось, сразу после перезагрузки запело и заиграло. Команда uname -a выдает:
    Linux som32-laptop 2.6.22-13-rt #1 SMP PREEMPT RT Thu Oct 4 19:19:06 GMT 2007 i686 GNU/Linux
    Но главное: заставить «заглохнуть» музыку мне так и не удалось. Да и тормозов иксов совсем не наблюдается.
    Еще раз хочется порадоваться и сказать спасибо Canonical и всему сообществу за легкое решение большинства проблем в Убунту.
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 54
    • 0
      А чем отличается RT ядро от обычного и почему оно не используется по умолчанию?
      • 0
        хорошо описано тут
        Мы немного жертвуем производительностью, ради того, чтобы система "не тормозила", т.е. чтобы среда реагировала на клики и обновляла информацию на экране(а так же играла музыку и т.д.) вне зависимости от общей нагрузки на процессор.
      • 0
        Насколько стабильно, не проверяли? Понимаю, что бета, конечно, но все же?
        • 0
          Третий час работы, багов/нареканий/вылетов системы не замечал.
        • 0
          не нашел исходников этого ядра в пакетах. или плохо искал?
          • 0
            Не подскажете репозитарий? Я в списке пакетов Debian не нашел.
          • 0
            "Меня данная тема заинтересовала, так как проблемы плохой отзывчивости системы при больших нагрузках свойственны и моему ноутбуку."

            Плохой отзывчивости? Немного объективнее можно, а то я не совсем понимаю что Вы имеете ввиду.
            • –8
              Линуксятники опять насмешили :) Чтобы не дёргалась музыка надо хитрым образом пересобирать ядро :)))
              • 0
                ну дык а ты запусти там винамп какой-нить и загрузи проц на 100% и посмотрим ))
                • +2
                  В винде планировщик задач достаточно мощный. Чтобы было меньше недовольных пользователей десктопов в нём предусмотрено два твика: удлинение кванта тому процессу, который был выведен из ожидания, а также небольшое увеличение ему относительного приоритета.

                  Если я не нагнал про первый, то он работает всегда, а второй включается (и отключается :) в System Properties->Performance->Advanced.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • НЛО прилетело и опубликовало эту надпись здесь
                      • 0
                        Я конечно может что-то и не понимаю, но квант времени - по сути наименьшая и постоянная величина. Не так ли? Речь наверное все-таки идет о приоритете процесса в очереди на выполнение.
                      • 0
                        У меня на тачке оракл тестовый стоит с которым 8 человек работает, ниже 100% нагрузка и не падает никогда ;)
                        • 0
                          Загрузил более тяжелый WMP 11, нагрузил проц - играет нормально.
                          Вообще afaik в XP предусмотрены такие моменты выделения ресурсов для "критичных" приложений. В висте с этим еще лучше =).
                          PS только не надо холиваров, ок ?
                          • 0
                            какие холивары? )) я 80% времени под виндой сижу

                            З.Ы. Никто случаем не знает утилитки для никсы для работы с AD? ))
                            • 0
                              терминальный клиент на виндовый сервер =) а так - не знаю, это же вроде как реализация LDAP - разве стандартные лдап-консоли не работают (если честно я уже 2 года под никсами не бывал =) )?
                              • 0
                                да я еще не смотрел что к чему, только седня никсы буду поднимать, чтобы поизучать это дело )))
                          • 0
                            В Winamp'e же (под виндой) есть настройки приоритета. Ставишь RealTime и всё пучком. Бывает при больших нагрузках визуализатор еле справляется, но музыка играет без перебоев.

                            p.s. тем не менее Виндоуз маст дай =)
                          • 0
                            Тут еще не только музыка, тут вся граф. оболочка. Еще скажите, что в винде при больших нагрузках можно легко двигать окошки и нажимать кнопки с моментальной реакцией системы?
                            • 0
                              Да, можно, всё можно если на всё хватает памяти и винда не свопится. Но меня насмешило именно про музыку. В винде даже если всё висит напрочь, музыка - играет :) А если не играет, то системе может помочь только ребут.
                              • 0
                                Ну, а тут без особых проблем(пара кликов/команд консоли) мы получаем прирост отзывчивости на том же железе, согласитесь, что это плюс =)
                                • 0
                                  Прирост отзывчивости и падение(!!!) производительности!
                                  • 0
                                    Я писал сразу, что все ставил на ноут и дискуссию веду для него. А при производительности hdd у ноутов подобная потеря не существенна.
                                    • 0
                                      Ну да, в контексте ноута - да...
                                      Одно не могу понять, зачем программеры пишут патчи меняющие шило на мыло вместо того, чтобы решить проблему раз и навсегда? Например вот камрад сказал, что проблема планировщика - перепишите его украв алго из винды и всё :) Или всё-таки это костыль не для этой проблемы, а просто приспособлен?
                                      • 0
                                        CFS уже есть, многое лечит. Это просто окончательное решение проблемы.
                                        • 0
                                          CFS - это очень странное лекарство. Совсем не ясно, чем сбалансированные деревья, лучше очередей. Места меньше занимают?

                                          Впрочем, да... Для планировщика с сохранением идеологии UNIX со 140 приоритетами, это может быть весьма эффективно. Вместо поиска непустого списка, время можно пустить на поиск задачи. Эх... А поменять интерфейс планировщика нельзя, nice должен работать.
                                        • 0
                                          Ой... Планировщик в Windows ничуть не лучше. Проблемы с неотзывчивостью в Linux связаны с тем, что там есть очень много кода, который выполняется в непрерываемом режиме. А вот чтобы так перелопатить ядро, чтобы весь код был разбросан по прерываемым задачам - это много усилий требует. Но люди над этим работают, даже не смотря на то, что среди unix'оидов считается, что это снижает эффективность, особенно при работе с сетевым стеком (хотя, это скорее похоже на миф, запросто опровергаемый архитектурой OpenSolaris). Результаты работы заметны.

                                          Так что, через пару/тройку лет, помолясь : ).
                                • 0
                                  При загрузке компа, когда всякие сервисы стартуют, кнопка пуск вообще не нажимается :( Точнее не кнопка пуск а вся полоска процесса explorer.exe с пуском, часиками и запущенными прогами подвисает.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • 0
                                    Ага, посмейся-посмейся, а теперь вставь поцарапанный диск в cdrom и посмотри, будет ли у тебя запинатсья музыка.

                                    p.s. Странно, а где ты в тексте увидел "пересобирать ядро"? Неужто установить пакет из репозитария - это оно?
                                    • 0
                                      Этот баг фиксится WinHex'ом :)

                                      P.S. Не, это же пакет патчей к ядру/ После установки ядро по любому надо пересобирать.
                                      • 0
                                        Оно само пересоберется. От пользователя нужно только тыцьнуть "установить пакет". А уж установится ли длл или драйвер, запустится ли компилятор или из космоса прилетит луч настройки - для пользователя едино.
                                        • 0
                                          Мдя? Я конечно не знаю точно что будет, но сильно сомневаюсь, что обойдётся без шаманства...
                                          • 0
                                            Устанавливать из репозитария очень просто. Нет, если есть время и вдохновение, можно ручками, но вообще-то оно элементарно, проще чем в виндах (посылаю луч ненависти windows installer'у.)
                                            • 0
                                              Шаманства вообще нет, пакеты скачиваются, распаковываются и все автоматически настраивается. Нужно только по кнопкам несколько раз тыкнуть.
                                              • 0
                                                Прикольно! Никогда бы не подумал... Это в каком дистрибутиве так? Надо бы взять посмотреть.
                                                • 0
                                                  вообще - во многих. Но это статья писалась под ubuntu.
                                                  • 0
                                                    А версия? Не важно?
                                                    • 0
                                                      Подождите ровно 7 дней и скачайте релиз 7.10. Там все новое и вкусное =)
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                    • 0
                                      это что-то среднее, еще не RT, но уже некоторые твики применены. Ждите 7.10 или прямо сейчас обновляйтесь =)
                                      • 0
                                        Кажется не совсем оно, но делает примерно тоже.
                                        rt - это именно приближение к риал-таймовому ядру, а lowlatency это как бы стандартное, но с большей отзывчивостью.
                                      • 0
                                        На мой взгляд, внедрения CFS более чем достаточно (благо есть патчи на 2.6.22 и 2.6.20, а для Ubuntu уже и собранные пакеты), а RT-ядро уже немного чересчур для домашнего пользователя. По крайней мере, в большинстве случаев.

                                        У меня ни mocp, ни sonata+mpd даже под большой нагрузкой ни разу не заикались
                                        • 0
                                          RT я поставил только на ноут, домашний на generic бегает. Так что такое решение подходит только слабым машинам
                                          • 0
                                            Чем ж Вы его так мучаете? :)
                                            Celeron 1.7 + 512 Мб и достаточно медленный ЖД, даже при запущенной установке windows в виртуальной машине все очень отзывчиво (с CFS чуть более)

                                            virens описывает математические расчеты, но это очень частный случай
                                            • 0
                                              сорьки за темноту, но CFS - это криптозащита? как она на латентность сказывается или это не то ?
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                        • 0
                                          Поставил rt ядро, система стала реально тормозить, фильмы не посмотреть. Удалил его, система по прежнему тормозит. Что делать, непонятно…
                                          • 0
                                            Мне кажется deadline шедулер лучше чем cfq для десктопной системы, честно поделить весь винт между процессами не улучшит отклик. Обычно я ставлю tickless, preemptible kernel, preemptible RCU, unqueued slab allocator, 1000Hz timer и deadline io шедулер.
                                            Ещё можно попробовать BFS патчи от CK.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое