Предложен простой способ разогнать Ubuntu в 2-9 раз

Программисты Canonical нашли в ядре Linux фундаментальный изъян, сказывающийся самым серьезным образом на производительности операционной системы. Устранение изъяна позволяет уже прямо сегодня любому пользователю ускорить работу Ubuntu в 2-9 раз всего одной командой из терминала.

Суть проблемы

Как известно, в каждую операционную систему встроен генератор ПСЧ. Алгоритмы генерации разные, но всегда действует правило: чем выше требования к качеству последовательности, тем выше нагрузка на центральный процессор и тем больше требуется оперативной памяти. Генератор ПСЧ Windows генерирует последовательность с относительно низким показателем энтропии. Этим объясняется легкость распространения вирусов в этой операционной системе, зато Windows работает заметно быстрее Linux. Генератор в Linux качественный, что делает Linux менее восприимчивым к вредоносному ПО, однако и затраты вычислительных ресурсов значительно выше, что приводит к замедлению работы компьютера.

Потенциал для ускорения

В декабре прошлого года фирма Canonical наняла высококлассных специалистов по realtime-вычислениям. Они должны были проверить ключевые точки ядра Linux, которые могли влиять на производительность. Первоначально эта задача была связана с желанием руководства фирмы сделать мобильную версию Ubuntu более отзывчивой путем снижения латентности ядра, однако очень скоро специалисты нашли изъян в проектировании, который влиял на общую производительность Linux на любом устройстве. Как оказалось, в генераторе ПСЧ допущена ошибка из-за которой вместо 100 итераций при вычислении хэш-функции MD5 компьютер выполнял 100000 итераций, то есть в 1000 раз больше. Отсюда и возникает потенциал для разгона. Можно искусственно сократить количество циклов, разгрузить CPU и оперативную память и получить существенный прирост производительности.

Решение проблемы

Хотя на первый взгляд может показаться, что для решения проблемы достаточно просто выпустить патч к ядру, на самом деле это не так. Дело в том, что все написанные под Linux программы не ожидают от генератора ПСЧ аномальной тактовой частоты. Другими словами, внеся изменения в ядро, разработчики выпустили бы версию Ubuntu, которая не смогла бы работать стабильно до тех пор, пока разработчики софта, входящего в состав Ubuntu, не адаптировали бы свои программы под новый алгоритм генерации ПСЧ. Легко догадаться, что на это могли бы уйти годы.

И тогда программные инженеры Canonical нашли элегантное решение, которое уже многие эксперты по ядру Linux назвали самым значительным вкладом Canonical в Open Source за всю историю существования этой компании.

Суть проста: вместо исправления старого генератора, ПСЧ-последовательности просто перенаправляются от источника (/dev/urandom) в так называемую черную дыру (/dev/null), а отдельный процесс генерирует ПСЧ по исправленному алгоритму, сохраняет полученные данные в виде таблицы и выдает их через привычный интерфейс /dev/urandom. Таким образом, не только достигается совместимость со всеми написанными ранее программами, но и кэшируются сами данные, что дает дополнительный прирост производительности.

Как ускорить Ubuntu

Учитывая общественную значимость открытия, специальный программный инструмент для ускорения был распространен на все компьютеры с Ubuntu через систему обновлений. Дополнительных действий со стороны пользователя для установки не требуется. Но проверить доступность программы все же следует. Наберите в терминале:

xz

Если на экране появится строка "Команда не найдена" - вам не повезло. Вероятно, ваш компьютер устарел и аппаратно не совместим с новым алгоритмом генерации ПСЧ. Если все в порядке, программа напишет "Compressed data cannot be written to a terminal". То есть, программа ускорения xz попыталась сгенерировать и сжать поток ПСЧ, но выводить его просто на терминал не имело смысла, поэтому программа завершилась. Используем xz для реальной обработки данных.

Следует прежде отметить, что xz понимает всего одну опцию - коэффициент желаемого ускорения. Это значение следует задавать от 1 до 9: 1 - ничего не ускорять, только проверить совместимость; 2 - двукратный рост по скорости; 9 - максимальное ускорение (в девять раз по сравнению со штатной производительностью). Специалисты Canonical не рекомендуют использовать коэффициенты выше 6, так как хотя ваш компьютер и приблизится по производительности к младшим моделям суперкомпьютеров, потребление электричества процессором вырастет непропорционально и неприемлемо высоко и вы будете неприятно удивлены цифрой в квитанции за электричество. Ускорение Ubuntu в 5-6 раз вполне достаточно для любых задач. Итак, приступим:

cat /dev/urandom | xz -5 > /dev/null

Даже новичок в Ubuntu способен понять смысл этой операции: берется поток ПСЧ из файла /dev/urandom и перенаправляется в /dev/null. Другими словами, фактически отключается штатный генератор ПСЧ, причем таким образом, чтобы не нарушить совместимость с остальными программами, берущими данные из /dev/urandom. Далее xz генерирует ПСЧ по исправленному алгоритму и заполняет кэш с данными в оперативной памяти. Чтобы добиться еще более впечатляющего ускорения, данные сжимаются (в пять раз), чтобы освободить ОЗУ для других программ.

Следует также отметить, что на генерацию кеша потребуется время. Зависимость времени от желаемого ускорения экспоненциальная, что следует обязательно учитывать. Если вы планируете максимально разогнать компьютер, запаситесь терпением. Если же программа xz выполняется неприемлемо долго, попробуйте снизить коэффициент ускорения и попробовать вновь. Данная процедура выполняется только один раз и в дальнейшем данные будут браться напрямую из сгенерированного кэша.

Когда xz появится в других дистрибутивах?

Скорее всего, что никогда. Юристы Canonical успели подать патентную заявку и теперь xz является интеллектуальной собственностью компании. Вероятно, Марк Шаттлворт решил использовать этот способ ускорения Linux как мощное конкурентное преимущество Ubuntu перед другими дистрибутивами Linux и даже перед Windows. Учитывая ту пользу, которую приносит использование xz, аналитики приходят к выводу, что планы главы Canonical скорее всего осуществятся и уже до конца этого года мы увидим крупнейшую миграцию на Ubuntu за всю историю существования дистрибутива.

field_vote: 
Ваша оценка: Нет Средняя: 4 (12 оценки)
Главная тема: 
Компании: 
Дистрибутивы: 

Комментарии

В кои-то веки Каноникал сделал что-то действительно полезное. Ускорение (да еще в разы) — это вам не шоппинг-оболочки с дилдами клепать. Не думал, что когда-нибудь уйду с Debian, но ради xz придется. Жалко, конечно, что Шаттлворт притворялся оупенсорщиком, а при первой возможности побежал за патентом.

Оценка: 
Средняя: 4.2 (5 оценки)

Зачем бежать с Debian ? :ставишь ядро убунту в дебиан и проделываеш нужную процедуру :)

Оценка: 
Пока без оценки

Скажите, а это ничего, что процессор стал греться на 3 градуса сильнее? Я использовать опцию -5. Ubuntu действительно стала загружаться в разы быстрее, но боюсь спалить процессор.

Оценка: 
Средняя: 4.3 (3 оценки)

3 градуса — это несущественно. Но поменять термопасту между вентилятором и процессором на всякий случай не помешает.

Оценка: 
Средняя: 5 (3 оценки)

Жжоте напалмом. Вот это бред. С днем дурака! xD

Оценка: 
Средняя: 4.3 (6 оценки)

Класс!
Просто праздник какой-то!
Праздник шагает по стране! :D

Оценка: 
Средняя: 5 (3 оценки)

В статье опечатка: в команде "xz" следует вводить не латинскую "x" (икс) а кириллическую «х» (ха).
Прошу исправить.

Оценка: 
Средняя: 5 (2 оценки)

ага) и «з» тоже надо кириллическую,
и на вопрос как ускорить убунту в 9 раз отвечать хз)))

Оценка: 
Средняя: 5 (2 оценки)

Терзают смутные сомнения... сегодня 1-ое апреля)

Оценка: 
Средняя: 4.2 (5 оценки)

1 апреля, однако.
Спасибо, что не патч Бармина

Оценка: 
Средняя: 4 (4 оценки)

Вот обуржуились конкретно

Свалил с Убунты на Арч, как гора с плечь свалилас

Оценка: 
Средняя: 5 (1 оценка)

Какие все умные стали. Даже временная предмодерация комментариев не помогла. Следовать доброй традиции — подъ...нуть кого-нибудь на 1 апреля — становится все труднее.

Оценка: 
Средняя: 5 (3 оценки)

Какие все умные стали.

Не в этом дело, а в том, что xz довольно известный формат архивов. Надо было придумать что-нибудь менее очевидное.

Оценка: 
Средняя: 4.3 (3 оценки)

Известный, да не всем. Но спасибо за замечание, в следующий раз подготовлюсь лучше.

Оценка: 
Средняя: 5 (2 оценки)

Гааа, до "xz" читал внимательно.

Оценка: 
Средняя: 5 (4 оценки)

Аналогично.

Оценка: 
Пока без оценки

Блин, дату подачи новости принято ставить в шапке статьи, а не после текста!

Оценка: 
Пока без оценки

Ну и что? Выполняю этот самый xz в терминале, а он какую-то чушь выдаёт.
Это же архив. Причём ускорение ubuntu до сих пор сделал. Уже в системном мониторе ЦП ( Притом у меня 4-ядерный процессор AMD) загрузка колеблется от 10% до 50%! А оперативная память отжирает аж 1,3ГБ! Вроде бы ubuntu должна быть в 2 раза менее требовательной к железу компьютера, примерно же её требования возросли до уровня windows!

Оценка: 
Пока без оценки

То есть НЕ сделал.

Оценка: 
Пока без оценки

Стесняюсь спросить, на дату публикации смотрели?

Оценка: 
Средняя: 5 (2 оценки)

он даже не знает, где она находится!:)

Оценка: 
Средняя: 5 (1 оценка)

Достаточно того, что он не знает, что такое xz.

Оценка: 
Средняя: 5 (1 оценка)

Знаю, где дата просто вначале всерьёз подумал. Так статья не несёт какой либо пользы! Линуксоиды "шибко логичны" как сказали выше . Но шибко логичными бывают и виндузятники. Там же день первоапрельских шуток. Выходит бред. ;) хз=xz.

Оценка: 
Пока без оценки

В сети полно статей по оптимизации убунту. Надеюсь это решит мою проблему.

Оценка: 
Пока без оценки

Вот именно, что полно.

Оценка: 
Пока без оценки

Это ещё актуально? Стоит это делать. Я запустил команду, через пару минут всё зависло и так 7 часов, выключил комп в наглую. После выключал ещё пару раз, он не мог загрузмиться. Версия убунту последняя 20. 5 лет прошло, может это уже не нужно. При вводе команды zx вот что получаю. z: Сжатые данные не могут быть записаны в терминал
xz: Попробуйте `xz --help' для получения более подробного описания.

Оценка: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.