Книга: Разработка ядра Linux
Параллельная сборка
Параллельная сборка
Программа make(1)
предоставляет возможность разбить процесс сборки на несколько заданий. Каждое из этих заданий выполняется отдельно от остальных и параллельно с остальными, существенно ускоряя процесс сборки на многопроцессорных системах. Это также позволяет более оптимально использовать процессор, Поскольку время компиляции большого дерева исходного кода также включает время ожидания завершения ввода-вывода (время, в течение которого процесс ждет завершения операций ввода-вывода).
По умолчанию утилита make(1)
запускает только одну задачу, поскольку часто файлы сборки содержат некорректную информацию о зависимостях. При неправильной информации о зависимостях несколько заданий могут начать "наступать друг другу на ноги", что приведет к ошибкам компиляции. Конечно же, в файле сборки ядра таких ошибок нет. Для компиляции ядра с использованием параллельной сборки необходимо выполнить следующую команду.
$ make -jn
где n — количество заданий, которые необходимо запустить.
Обычно запускается один или два процесса на процессор. Например, на двухпроцессорной машине можно использовать следующий запуск.
$ make -j4
Используя такие отличные утилиты, как distcc(1)
и ccache(1)
, можно еще более существенно уменьшить время компиляции ядра.
- 1.4.4 Сборка мусора
- Часть II Сборка и модернизация компьютера
- 2.3.1. Сборка пакета
- 4.14.4. Модификация диаграммы IDEF3 "Сборка продукта" с целью отображения новой информации
- Сборка ядра
- 3.5. Параллельная ООС по току
- Управление памятью (memory management) и сборка мусора (garbage collection)
- Сборка модулей
- 6.12.2 MTU, фрагментация и сборка
- Глава 8. Управление пакетами: сборка из исходных текстов
- Как появились очереди на отправку и непрерывная сборка Джефф Карролло
- Сборка мусора в процессе резервного копирования