OrangePi rk3588 arm64 cpu prioritization
Чтобы задать приоритет использования определённых ядер процессора через tuned
, вам потребуется создать пользовательский профиль и настроить параметры планировщика процессов. Вот шаги, которые помогут это сделать:
-
Создание пользовательского профиля: Создайте каталог для нового профиля в
/etc/tuned/
:sudo mkdir /etc/tuned/my-optimized-profile
-
Настройка профиля: Создайте файл конфигурации внутри этого каталога, названный
tuned.conf
:sudo nano /etc/tuned/my-optimized-profile/tuned.conf
-
Редактирование файла конфигурации: Добавьте следующее содержание в
tuned.conf
, чтобы настроить планировщик:[main] include=throughput-performance [scheduler] isolated_cores=4-7
Здесь
include=throughput-performance
означает, что ваш профиль будет включать в себя настройки из профиляthroughput-performance
по умолчанию, который оптимизирован для пропускной способности. Параметрisolated_cores
указываетtuned
изолировать ядра 4-7, что, в зависимости от версии ядра Linux и планировщика, может привести к их предпочтительному использованию для вычислительных задач. -
Применение нового профиля: Примените новый профиль, используя команду
tuned-adm
:sudo tuned-adm profile my-optimized-profile
Это даст tuned
указание на то, что ядра с номерами 4-7 должны быть изолированы от общего планирования задач и использоваться для определённых задач, которые вы можете назначить вручную (например, через taskset
).
Обратите внимание, что в некоторых случаях для корректной работы такой настройки может потребоваться перезагрузка системы. Кроме того, детали реализации могут варьироваться в зависимости от версии tuned
и конкретного распределения Linux.
Вопрос: при использовании my-optimized-profile процессы будут использовать другие ядра тоже 0-3 если 4-7 заняты?
Да, когда вы устанавливаете isolated_cores в tuned профиле, вы не запрещаете планировщику использовать эти ядра совсем; скорее, вы указываете, что эти ядра должны быть изолированы от некоторых общих задач. Это означает, что планировщик по-прежнему может использовать ядра 4-7 для некоторых задач, но предпочтение будет отдано другим ядрам, если только не указано иное (например, вы можете явно запустить процесс на изолированных ядрах, используя taskset).
Если ядра 4-7 заняты, и есть другие задачи, требующие вычислительных ресурсов, планировщик может использовать ядра 0-3 для обработки этих задач. Изоляция ядер не означает, что они никогда не будут использоваться другими процессами; это просто снижает частоту их использования планировщиком для общих задач.
Это означает, что если у вас есть задачи высокой важности, которые должны быть запущены на изолированных ядрах, вам нужно будет явно настроить эти задачи на использование этих ядер. В других случаях планировщик Linux будет продолжать балансировать нагрузку между всеми доступными ядрами в соответствии с их текущей загрузкой и приоритетностью задач.