Компиляция QEMU в ubuntu 20.04 с помощью команды make -j приводит к зависанию системы

Я хочу собрать qemu из исходного кода в моем Ubuntu 20.04. Собирать QEMU по официальной инструкции кажется обычным делом.

Выполнение команды make -j работает хорошо вначале и постепенно замедляется после периода компиляции. Наконец-то вся система зависает, зависают клавиатура и мышь. Единственный способ выйти из такой ситуации - нажать кнопку включения.

Итак, это что проблема совместимости несовпадения gcc и исходного кода? Или я незаконно использую опцию -j ?

Обновление:

  1. Удаление опции -j устраняет проблему.
  2. Использование параллельных заданий, меньшее, чем количество ядер ЦП, путем добавления параметра -jN также устраняет проблему. Единственная опция -j без аргумента заставляет команду make использовать все ядра для компиляции.
1
задан 17 June 2020 в 09:18

1 ответ

Не указывайте "-j" без конкретного номера, попробуйте использовать "-j4".

-j [вакансии], --jobs[=вакансии]
Указывает количество заданий (команд), которые должны выполняться одновременно. Если имеется более одной опции -j, действует последняя. Если опция -j указана без аргумента, make не будет ограничивать количество заданий, которые могут выполняться одновременно. Когда make вызывает подпрограмму make, все экземпляры make будут координировать свои действия для одновременного выполнения указанного количества заданий; см. раздел ПАРАЛЛЕЛЬ
MAKE AND JOBSERVER для получения подробной информации.

0
ответ дан 18 December 2020 в 06:48

Другие вопросы по тегам:

Похожие вопросы: