Запрещение планировщику использовать определенные ядра во FreeBSD

repeat word do list done

Это действительно синтаксис для repeat, попробуйте прочитать раздел 6.4 - Alternate Forms For Complex Commands сейчас, обратив внимание на предупреждение:

Это нестандартные формы и, скорее всего, не будут очевидны даже для опытных программистов оболочки.

repeat word sublist

Это краткая форма команды repeat.

2
01.05.2017, 23:02
1 ответ

Вы можете прочитать о старом планировщике в Управлении процессами в операционной системе FreeBSD

«Новый» планировщик ULE был не включен по умолчанию до версии 7.1. Вы можете найти статью с описанием здесь. Это даст хорошее понимание того, как работает планировщик.

СОВЕТ: При работе с привязкой ЦП полезно знать топологию ЦП:

  $ sysctl kern.sched.topology_spec

СОВЕТ: procstat с флагом -S также помогает для обзора используемых процессорных наборов:

 $ procstat -a -S

И да — вы можете указать планировщику «избегать» ядер, управляя «процессорными наборами». Посмотрите примеры на справочной странице для cpuset(1). ЦП 1 — это набор по умолчанию. Вы просто изменяете этот набор.

Со страницы man:

Измените набор процессоров, в котором по умолчанию находятся все потоки, чтобы он содержал только первые 4 процессора, остальные остаются бездействующими:

 cpuset -l 0-3 -s 1
 

Если мы представим, что у нас есть 8 процессоров, мы теперь переместили все потоки в наборе процессоров по умолчанию в первые 4. Поскольку мы изменили набор по умолчанию (по умолчанию процессы запускаются в наборе 1), это теперь позволит избежать оставшихся ядер, которые оставил без дела.

Вы можете создать новый набор ЦП (т. е. номер 2) для оставшихся ЦП, которые вы затем назначите, когда захотите их использовать.

2
27.01.2020, 22:10

Теги

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