-
Notifications
You must be signed in to change notification settings - Fork 0
/
pind.yml
91 lines (88 loc) · 4.15 KB
/
pind.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
# Настройки логгера
log:
# Уровень логирования:
# debug, info, warning, error.
level: info
# Включение файлового логгера.
# Логгер поддержит ротацию файлов.
rotator_enabled: true
# Настройки ротатора логов.
rotator:
# Путь куда будет сохранён лог файл
file_name: /var/log/pind/pind.log
# Максимальный размер файла MiB.
max_size: 10
# Число лог файлов.
max_backups: 5
# Максимальный возраст в днях перед ротацией файла.
max_age: 28
# Локальное время в лог файлах.
locale_time: true
# Влючение логгирования в stderr, перенаправляется в journald.
# Команда чтения логов:
# journalctl -u pind
stderr_enabled: true
# Настройки логики сервиса
service:
# Интервал времени в мс.
# Рабочий цикл совершается периодически в интервал времени.
interval: 1000
# Порог потребления ядер процессора,
# выше которого процесс считвается нагруженным.
# 150 % - 1,5 ядра
threshold: 150
# Первый фильтр
# Фильтрует процессы по имени.
# Кто попадает в фильтр 1,
# но не попадает в фильтр 2 прикрепляется к IDLE-ядрам.
filters0:
# Группа паттернов
# Любая группа паттернов должна совпасть полностью для попадания в фильтр
- type: name
patterns:
# Все текстовые паттерны должны совпасть в имени процесса, аргументах
- /usr/bin/kvm
# Второй фильтр
filters1:
# Группа паттернов
- patterns:
# Все текстовые паттерны должны совпасть в имени процесса, аргументах
- /usr/bin/kvm
# Списки ядер процессора
pool:
# Ядра для IDLE
# Допускается и такая запись
# load: 4-23,48-71
idle: 0-11
# Ядра для процессов,
# которые потребляют выше порога в 150 %.
load: 12-95
# Тип ядер.
# При указании logical используются все ядра.
# При указании phys используются физические и следует указывать физические ядра.
# С учётом гипертрейдинга физических ядер в 2 раза меньше логических.
load_type: logical
# Выбор потока в процессе,
# которому будут назначено отдельное ядро (selected_cores_count).
# Если поток не попал под фильтр, то
# процесс делит общие ядра с числом (not_selected_cores_count),
# выделенные на данный процесс.
selection:
patterns:
# Все текстовые паттерны должны совпать с Comm потока (процесса)
# Comm - второй слобец в /proc/{pid}/stat
- CPU
- /KVM
# Поток, который следует игнорировать и не привязывать к ядрам.
# Оставить, так как есть.
ignore:
patterns:
# Все текстовые паттерны должны совпать с Comm потока (процесса)
- iou-wrk-
# Алгоритм распределения ядер для процесса
pin_cores_algo:
# 1 уникальное ядро на поток, выбранный через selection
selected_cores_count: 1
# 2 на ВСЕ потоки, которые не попали под selection
not_selected_cores_count: 2