Имеем систему KUbuntu 18.04, 8Гб оперативки и процессор Intel Core i7-479, про который lscpu говорит:
(т.е. четырехъядерный процессор с эмуляцией 8ми ядер?)CPU(s): 8
On-line CPU(s) list: 0-7
Потоков на ядро: 2
Ядер на сокет: 4
Сокетов: 1
В ненагруженном состоянии top показывает вот такую ситуацию:
Код: Выделить всё
top - 15:18:59 up 43 min, 4 users, load average: 3,17, 11,35, 7,53
Tasks: 238 total, 1 running, 171 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2,4 us, 0,8 sy, 0,0 ni, 96,4 id, 0,5 wa, 0,0 hi, 0,0 si, 0,0 st
КиБ Mem : 8080884 total, 6544816 free, 973364 used, 562704 buff/cache
КиБ Swap: 2097148 total, 1401600 free, 695548 used. 6850212 avail Mem
Если запустить компиляцию в 4 потока (/usr/bin/cmake --build . --target all -- -j4), то картинка станет такой:
Код: Выделить всё
top - 15:29:33 up 53 min, 4 users, load average: 2,47, 2,87, 4,57
Tasks: 258 total, 6 running, 186 sleeping, 0 stopped, 0 zombie
%Cpu(s): 51,9 us, 2,6 sy, 0,0 ni, 45,3 id, 0,1 wa, 0,0 hi, 0,1 si, 0,0 st
КиБ Mem : 8080884 total, 3161184 free, 3911656 used, 1008044 buff/cache
КиБ Swap: 2097148 total, 1703680 free, 393468 used. 4067756 avail Mem
А вот если запустить компиляцию без ограничения количества потоков (/usr/bin/cmake --build . --target all), то начнется лютый трэш:
- Система почти перестает отзываться на движения мыши и нажатия кнопок на клавиатуре. Время реакции несколько десятков секунд
- По показаниям top, количество доступной памяти (avail Mem) падает вплоть до 21716 Кб.
- Опять же по показаниям top, запускается 10 процессов под названием cc1plus, каждый из которых ест от 50% до 92% cpu.
- Вся эта вакханалия продолжается около минуты, потом процессы cc1plus завершаются, система становится более-менее отзывчивой, в терминале, где была запущена сборка виден прогресс
- Снова запускается куча процессов cc1plus и всё повторяется.
Собственно вопросы:
- Это вообще нормально в 2018 году, что процессы графического интерфейса не имеют приоритета перед пользовательскими процессами, и если пользователь запускает тяжелую операцию, то тормозить начинает ВСЁ?
- Как поправить проблему?
В идеале хотелось бы, чтобы не тормозил не только интерфейс, но и, к пример, видео на ютубе.