2015-03-02 7 views
7

Я пытаюсь использовать группы, чтобы ограничить использование ЦП. Я использую это руководство https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpu_and_memory-use_case.htmlИспользование Cgroups для ограничения использования процессора

Мой файл /etc/cgconfig.conf следующая

mount { 
cpu  = /mnt/cgroup/cpu,cpuacct; 
cpuacct = /mnt/cgroup/cpu,cpuacct; 
} 

group wheel { 
    cpu { 
      cpu.shares="800"; 
    } 
    cpuacct { 
      cpuacct.usage="0"; 
    } 
} 
group test1 { 
    cpu { 
      cpu.shares="200"; 
    } 
    cpuacct { 
      cpuacct.usage="0"; 
    } 
} 

Мой cgrules.conf следующая

@wheel cpu,cpuacct wheel 
@test1 cpu,cpuacct test1 

Althouth, когда я пытаюсь запустить:

dd if=/dev/zero of=/dev/null bs=1024k 

Я вижу, что использование процессора в 100% для нас ERS принадлежат к группе колеса и test1

Я проверил услуги с службы статуса cgconfig и составляет до

Loaded: loaded (/usr/lib/systemd/system/cgconfig.service; disabled) 
Active: active (exited) since Mon 2015-03-02 17:29:19 EET; 7min ago 
Process: 1240 ExecStop=/usr/sbin/cgclear -l /etc/cgconfig.conf -e (code=exited, status=3) 
Process: 56536 ExecStart=/usr/sbin/cgconfigparser -l /etc/cgconfig.conf -s   1664 (code=exited, status=0/SUCCESS) 
Main PID: 56536 (code=exited, status=0/SUCCESS) 

Может кто-нибудь сказать мне, что я делаю неправильно? Большое спасибо

+0

Можете ли вы добавить вывод команды 'top', когда вы используете' dd if =/dev/zero of =/dev/null bs = 1024k'? –

+5

Акции 'cgroup' будут ограничивать ресурсы ЦП *, когда для них есть конкуренция *. Если в вашем примере 'test1' хочет ресурсов процессора, а' wheel' не используется, то конкуренции нет, а 'test1' может иметь все, что захочет. Если оба требуют ресурсов, тогда вы должны увидеть, что ограничение на основе акций влияет на него. – twalberg

+0

Привет выход заключается в следующем: ' ' PID-USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND ' ' 51535 пользователь1 20 0 108956 1680 556 R 100,0 0,0 0: 27.74 dd' '51557 пользователь2 20 0 108956 1676 552 R 100,0 0,0 0: 23,57 dd' user1 принадлежит к группе колес и пользователю2 для группы test1 – SteveGr2015

ответ

12

cpu cgroup is work сохраняется, т.е. задача не будет прекращена с использованием процессора, если нет конкуренции. Если вы хотите установить жесткий лимит на количество CPU, которое может использовать задача, попробуйте установить cpu.cfs_quota_us и cpu.cfs_period_us.

Посмотрите на документацию here.

+0

Спасибо, что отлично работает с cpu.cfs_quota_us и cpu.cfs_period_us – SteveGr2015