не обов’язково вимикати або вимикати ядра.
Ви б використовували cpusets та набір завдань
http://man7.org/linux/man-pages/man7/cpuset.7.html
Комп'ютер визначає список процесорів і вузлів пам'яті ...
Файлова система cpuset - це інтерфейс псевдофайлової системи до механізму cpuset ядра, який використовується для управління розміщенням процесора та розміщенням пам'яті процесів. Він зазвичай монтується в / dev / cpuset.
У системах з ядрами, складеними з вбудованою підтримкою cpusets, всі процеси приєднані до cpuset, а cpusets завжди присутні. Якщо система підтримує cpusets, то вона матиме cpuset nodev cpuset у файлі / proc / fileystems. Встановивши файлову систему cpuset (див. Розділ ПРИКЛАД нижче), адміністратор може налаштувати cpusets в системі для управління процесором і розміщенням пам'яті процесів у цій системі. За замовчуванням, якщо конфігурація cpuset у системі не змінена або якщо файлова система cpuset навіть не змонтована, механізм cpuset, хоч і присутній, не впливає на поведінку системи.
Процесорні процесори системи включають усі логічні блоки обробки, на яких може виконувати процес, включаючи, якщо вони є, кілька ядер процесора в пакеті та Hyper-Threads в ядрі процесора. Вузли пам'яті містять усі окремі банки основної пам'яті; малі та SMP системи зазвичай мають лише один вузол пам'яті, який містить всю основну пам'ять системи, тоді як системи NUMA (нерівномірний доступ до пам'яті) мають кілька вузлів пам'яті.
Якщо коротко, якщо у вас 1 процесор, що має 6 ядер, ви налаштували б cpusets і запустили процес у cpuset, який налаштований лише на одному ядрі, скажімо, наприклад, core # 3. Якби це був паралельний процес, все було б обмежене одним ядром, таким чином, якщо ви запустили 4 процеси в заданому процесорі, який визначав лише одне ядро, то кожен з 4 процесів отримав би 25% використання процесора на ядрі №3.
Здійснюючи це, що, як правило, відбувається, процесор налаштований таким чином, що
- Наприклад, в базовій системі 200+, cpusetA є ядрами 0..60, де б вони не знаходилися, cpusetB є ядрами 61..70; cpusetC становить ядра 71..80; і так далі, проте адміністратор / архітектор вирішує налаштувати.
- cpusetA виділяється певним користувачам та / або конкретним програмним програмам; cpusetB розподіляється для різних користувачів / програм; і так далі.
- користувач запускає завдання (процес), який вимагає N ядер ... в межах заданого cpuset, і тепер ці декілька (паралельних) процесів обмежені цим заданим cpuset. І для тих N паралелей, обмежених даним процесором, кожен з цих процесів повинен / повинен використовувати афінність процесора або спорідненість процесора, щоб ці паралельні процеси не розминалися на різних ядрах в межах cpuset.
також: https://linux.die.net/man/1/taskset
maxcpus=1
товариство ? Ви ввели цей рядокgrub.cfg
як варіант завантаження? (Будь ласка, оновіть своє запитання замість відповіді в коментарях).