Компиляция ядра Linux делает ОС быстрее?

11

Делает ли компиляция загруженного ядра Linux (например, 3.2) быстрее (например, ubuntu) на этой конкретной машине?

rockr101
источник
Я сомневаюсь, что вы заметите разницу, даже если это произойдет.
Зоке
Что-то, что быстрее, субъективно, быстрее, чем что? Я использую универсальные ядра Ubuntu, и мой компьютер работает быстро. Чтобы повысить производительность, улучшите аппаратное обеспечение.
Ури Эррера

Ответы:

10

В общем нет.

Есть, однако, некоторые исключения из «нет». Например, ядро ликвора или ядро Ubuntu . Обычно это настройка производительности, которая может иметь значение (ядро сервера быстрее для серверов и не улучшит производительность рабочего стола).

С Ubuntu, если вы используете правильную версию ядра, вам будет хорошо.

Примечание: ядро Liquorix также имеет некоторые исправления (в дополнение к настройке производительности).

Другое исключение будет, если у вас есть какое-то необычное оборудование.

Но в подавляющем большинстве случаев производительность не является «стандартной» причиной для компиляции ядра.

Увидеть:

Ubuntu Wiki скомпилировать ядро

пантера
источник
7

Самый точный ответ, как сказал бодхи.зазен, не всегда, но с несколькими исключениями. Большинство из этих исключений связаны с аппаратным обеспечением, но некоторые являются просто проблемами конфигурации. Обоснование моего ответа следует.

В прошлом месяце я собрал двадцать шесть ядер между двумя машинами, пытаясь настроить производительность. Что я нашел:

  1. Изменение типа процессора в .config на собственную архитектуру и удаление опций, поддерживающих другие архитектуры, улучшило пропускную способность ввода-вывода файлов более чем на 10% в тестах (достаточно, чтобы я «почувствовал улучшение») и уменьшило задержку после ввода данных пользователем в XFCE на Xubuntu 12,04–32 бита на моем ноутбуке 1,8 ГГц (K8) Mobile Sempron 512 МБ ОЗУ. Те же самые изменения не оказали какого-либо количественного или ощутимого влияния на мой ноутбук с оперативной памятью Core2 Duo 2 ГБ 1,73 ГГц в 64-разрядной версии Ubuntu 12.04, но привели к тому, что одно ранее стабильное приложение стало подверженным сбоям.
  2. Изменение HZ в .config на 1000 значительно улучшило скорость отклика на ввод данных пользователем при высокой загрузке ЦП в обеих системах. Это также сделало изменения фокуса окна в X мгновенными в любых условиях.
  3. Патч BFS увеличил время автономной работы в обеих системах на несколько минут. Достаточно, чтобы быть измеримым и состоять, но недостаточно, чтобы иметь большое значение. Тесты не выявили статистически значимых изменений производительности, но обе системы «чувствуют» быстрее. Я подозреваю, что это связано с тем, что приоритет планирования более полезен для типичных рабочих нагрузок на этих конкретных машинах.
  4. Все остальные комбинации .config привели к снижению производительности в обеих системах.

Я потратил смешные суммы времени на компиляцию и тестирование различных конфигураций. При этом только пять ядер дали желаемый результат из двадцати шести попыток. Семь ядер даже не работали (либо не загружались, либо не запускались X). Я недавно установил ядро ​​Liquorix из репозитория и собрал все вышеперечисленные улучшения, а также примерно на 50% увеличение частоты кадров в обеих играх Windows, в которые я играю через WINE в системе Core2. Это заняло всего несколько минут, и ничего не сломалось.

Моя ОС лучше, потому что я скомпилировал собственное ядро? Ну да, немного. Пока я не найду что-то, что работает медленнее / ломается, потому что я не смог найти это во время тестирования. Моя ОС быстрее? Нет.

OCDtech
источник
3

По моему опыту да. Но преимущества в основном сводятся к устранению ненужных функций и выбору нескольких других, например типа вашего процессора. Кроме того, сделайте это ультранизкой задержкой для настольного использования. Я собирал ядро ​​годами и для меня разница всегда заметна. Но есть и другие преимущества. Время загрузки также улучшено.

Тем не менее, это очень много времени, чтобы выбрать только те варианты, которые вам нужны.

Кевин Гуэрра
источник
0

Я не знаю, как насчет ядра, но в целом компиляция приложений из исходного кода обычно заставляет их работать быстрее (я обычно делаю это с помощью dev libs, например CGAL, или приложений, таких как ParaView). Конечно при компиляции процесс оптимизируется под архитектуру и тд.

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

Страдания
источник
0

Я скомпилировал ядро ​​для EeePC 900A только для того, чтобы удалить ненужные драйверы и функции, загрузить без дополнительного initrd, установить планировщик ввода-вывода по умолчанию, оптимизировать для Atom и отключить отладку и некоторое снижение производительности и быстродействия. сохранение функций. (он используется в качестве сервера для различных мелочей). Требуется меньше времени на загрузку ^^ Около года назад я пробовал это раньше, но Chromium показывал только пустые веб-страницы - с кликабельными ссылками ...

pucgenie
источник