Panda911 |
|
Темы:
7
Сообщения:
34
Участник с: 26 октября 2020
|
Подскажите, кто сталкивался с такой проблемой. Система: Archlinux Окружение: KDE Процессор: AMD Authlon II X4 631 Памяти: 8Gb Использую: Swap на 20 гигов + ccache на 50Gb на отдельном HDD Сборщик soong: 100% загрузка по всем ядрам. ключ при сборке -j1 - не помогает Зависает при сборке вся графика, ПК не отвечает. Вопрос: Возможно ли как-то ограничить использование CPU для сборщика soong. После компиляции soong, сборка идёт в нормальном режиме. |
vasek |
|
Темы:
47
Сообщения:
11417
Участник с: 17 февраля 2013
|
Panda911Начни с самого простого - cpulimit
Ошибки не исчезают с опытом - они просто умнеют
|
grayich |
|
Темы:
219
Сообщения:
2032
Участник с: 08 января 2009
|
Panda911это не поможет, известная проблема линукс №12309 похоже будет жить вечно на некотором железе, при работе диска\свопинге система сначала жутко фризит потом встаёт колом, io улетает в космос не спасают никакие лимиты, ionice к примеру решение только 2 или добавление достаточного количества озу или смена материнки на ту где такого жёсткого эффекта не заметно если озу хватает, то сборку делать в tmpfs, по умолчанию это /tmp в южный мост вроде всё упирается, обычно проявляется на недорогих мамках |
vasek |
|
Темы:
47
Сообщения:
11417
Участник с: 17 февраля 2013
|
Из сложных способов (на много ... много сложнее cpulimit) - cgroup - использовал несколько раз, но только для ограничения памяти - ananicy-cpp (аналог ananicy), есть в AUR - сам никогда не использовал, но как пишут: существено повышает отклик системы и вроде бы имеет в составе cgroup, то есть можно задавать ограничения. Раньше не которым помогало отключение многопоточности (SMT) ... но сам никогда не пробоавал.
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11417
Участник с: 17 февраля 2013
|
В части cgroup - написано довольно заумно и способов использования несколько, можно ограничивать даже конкретный процесс …. например, в этом топике описал ограничение процесса (palemoon) по использованию memory. Но вообще можно довольно просто, используя cgroup, ограничить user в части использоания им cpu. Привожу сначала результаты тестирования без ограничения. Смотрим что имем в системе по дефолту - привожу вывод systemd-cgto 1. Без нагрузки 2. С нагрузкой (для нагрузки cpu использовал stress) И как видим нагрузка составляет 400% (100% на ядро)Пробуем ограничить, но не отдельный процесс, а все процессы user (так намного проще) до 30% Создаем файл /etc/systemd/system/user.slice и пропысываем в нем всего две строчки Запускаем команду: sudo systemctl daemon-reloadНагружаем (stress) … и смотрим вывод Все получилось.В конце не забываем выполнить
EDIT - забыл отметить, что температура cpu при нагрузке (stress) составляла - без использования ограничения cpu - 70 - 72 град. - с использованием ограничения cpu - 57 - 59 град.
Ошибки не исчезают с опытом - они просто умнеют
|