ограничить количество доступных процессоров

Thank you for reading this post, don't forget to subscribe!

Исполь­зуй­те пара­мет­ры загруз­ки для огра­ни­че­ния коли­че­ства доступ­ных процессоров.

Суще­ству­ет два раз­лич­ных пара­мет­ра загруз­ки, кото­рые вли­я­ют на коли­че­ство доступ­ных процессоров.

  • Пара­метр nr_cpus, кото­рый мож­но исполь­зо­вать в каче­стве жест­ко­го ограничения.
  • Пара­метр maxcpus, кото­рый мож­но исполь­зо­вать в каче­стве мяг­ко­го огра­ни­че­ния и изме­нить поз­же по сво­е­му усмотрению.

Как пра­ви­ло, вы хоти­те исполь­зо­вать пер­вый вари­ант, если вы огра­ни­че­ны каки­ми-либо лицен­зи­он­ны­ми условиями.

Предварительная информация

Я буду исполь­зо­вать сле­ду­ю­щую конфигурацию.

$ lscpu

Жесткое ограничение

Этот метод огра­ни­чи­ва­ет коли­че­ство доступ­ных про­цес­со­ров до 16.

$ cat /etc/default/grub

Обно­ви­те Grub.

$ sudo update-grub

Пере­за­гру­зи­те опе­ра­ци­он­ную систему.

$ sudo reboot

Отоб­ра­же­ние инфор­ма­ции о процессорах.

$ lscpu

В этом при­ме­ре вы умень­ши­ли коли­че­ство про­цес­со­ров с 32 до 16.

Эта опция очень полез­на, когда вы огра­ни­че­ны лицен­зи­он­ны­ми ограничениями.

Мягкое ограничение

Обно­ви­те Grub.

$ sudo update-grub

Пере­за­гру­зи­те опе­ра­ци­он­ную систему.

$ sudo reboot

Отоб­ра­же­ние инфор­ма­ции о процессорах.

$ lscpu

На этот раз вы с 32 про­цес­со­ров спу­сти­лись до 8 доступ­ных про­цес­со­ров, но толь­ко 4 онлайн.

$ find /sys/devices/system/cpu/cpu?/online -exec bash -c "echo -n '{}: '; cat {}" \;

Обра­ти­те вни­ма­ние, вы не може­те отклю­чить cpu0.

Вы може­те вклю­чить (1) или выклю­чить (0) эти процессоры.

Note, you cannot disable cpu0.

You can enable (1) or disable (0) these processors.

$ echo 1 | sudo tee /sys/devices/system/cpu/cpu6/online

$ lscpu

Дополнительные примечания

Более подроб­ную инфор­ма­цию смот­ри­те в раз­де­ле Пара­мет­ры команд­ной стро­ки ядра.

Про­верь­те пара­мет­ры загрузки.

$ cat /proc/cmdline