Skip to content

Latest commit

 

History

History
114 lines (84 loc) · 5.56 KB

configuration_file.ru.md

File metadata and controls

114 lines (84 loc) · 5.56 KB

Файл конфигурации

README README | EN English version


Файл конфигурации config.json служит для управления поведением приложения Process Governor. Он позволяет определить, как приложение будет регулировать приоритеты процессов и служб, их I/O приоритеты и соответствие к ядрам процессора.

Файл конфигурации регулярно проверяется приложением и при наличии изменений - применяется.

Пример файла конфигурации

В этом примере определены два правила: одно для процесса и одно для службы.

{
  "ruleApplyIntervalSeconds": 1,
  "logging": {
    "enable": true,
    "level": "WARN",
    "maxBytes": 1024,
    "backupCount": 1
  },
  "rules": [
    {
      "processSelector": "example.exe",
      "priority": "High",
      "ioPriority": "Normal",
      "affinity": "1;3-5"
    },
    {
      "serviceSelector": "Audio*",
      "priority": "Realtime",
      "ioPriority": "High",
      "affinity": "0;2;4"
    }
  ]
}

Структура config.json

Файл конфигурации состоит из нескольких ключевых секций:

ruleApplyIntervalSeconds

Этот параметр определяет интервал в секундах, с которым правила будут применяться к процессам и службам. По умолчанию установлено значение 1, что означает применение правил каждую секунду.

logging

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

Возможные параметры:

  • enable: Включает или отключает логирование.
  • level: Уровень логирования (INFO, WARN и т.д.).
  • maxBytes: Максимальный размер файла лога в байтах.
  • backupCount: Количество резервных копий файла лога.

rules

Это секция определяет список правил, по которым Process Governor будет управлять процессами и службами. Каждое правило определяется объектом с набором параметров.

Возможные параметры:

  • processSelector (строка, опционально): Указывает имя процесса или шаблон для сопоставления.
    Вы можете использовать подстановочные символы, включая * и ?, чтобы сопоставить несколько процессов.

    • Пример: "processSelector": "example.exe"
    • Пример с подстановочными символами: "processSelector": "logioptionsplus_*.exe"
  • serviceSelector (строка, опционально): Указывает имя службы или шаблон для сопоставления.
    Вы можете использовать подстановочные символы, включая * и ?, чтобы сопоставить несколько служб.

    • Пример: "serviceSelector": "MyService"
    • Пример с подстановочными символами: "serviceSelector": "Audio*"
  • priority (строка, опционально): Устанавливает приоритет процесса или службы.
    Допустимые значения:

    • "Idle"
    • "BelowNormal"
    • "Normal"
    • "AboveNormal"
    • "High"
    • "Realtime"
    • Пример: "priority": "High"
  • ioPriority (строка, опционально): Устанавливает приоритет ввода/вывода для процесса или службы.
    Допустимые значения:

    • "VeryLow"
    • "Low"
    • "Normal"
    • "High": Установка приоритета ввода-вывода на "High" может вызвать ошибку AccessDenied в большинстве случаев.
    • Пример: "ioPriority": "Normal"
  • affinity (строка, опционально): Определяет привязку процесса к ядру CPU.
    Вы можете указать привязку следующим образом:

    • Диапазон (включительно): "affinity": "0-3"
    • Конкретные ядра: "affinity": "0;2;4"
    • Комбинация: "affinity": "1;3-5"

Валидация

Встроенная валидация предотвращает одновременное задание processSelector и serviceSelector в одном правиле. Если вы попытаетесь задать оба параметра, программа уведомит вас об ошибке и потребует исправления правила.