Centos 7 и systemd: квота процессора?
Информация о версии ОС:
[root@localhost system]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
Конфигурация для test.slice выглядит следующим образом:
[root@localhost system]# cat test.slice
[Unit]
Description=Test Slice
Documentation=man:systemd.special(7)
DefaultDependencies=no
Before=slices.target
Wants=-.slice
After=-.slice
[Slice]
CPUAccounting=on
CPUShares=1024
Я создал еще один файл, такой же, как этот (назовите его testhigh.slice), и дал ему доли центрального процессора = 128. Когда я запускаю процессы, нагруженные центральным процессором в любом срезе, я вижу, что процессор пропорционально разделен, как и ожидалось.
Тем не менее, кажется, нет никакого способа фактически уменьшить процессор одного слайса до постоянной, например, 10%. Опция CPUQuota не распознается системой systemd:
Apr 23 21:34:00 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/test.slice:22] Unknown lvalue 'CPUQuota' in section 'Slice'
В принципе, возможность точно распределять ресурсы была бы удивительной, но сейчас я не могу заставить это работать. Пожалуйста помоги; Я хочу решение изнутри systemd Framework, если это возможно.
1 ответ
Поставка systemd с RHEL/Centos 7 основана на версии 208. Эта поддержка CPUQuota, по-видимому, не будет включена до 213.
Вы должны быть в состоянии экспериментировать, запустив процесс в нужном вам слайсе / области, а затем непосредственно изменив соотношение cpu.cfs_{quota,period}_us в / sys / fs / cgroup / cpu /... Я ожидаю, что вы там установите для stick на некоторое время, пока нет никаких системных действий, которые могли бы перезаписать его в файлы.