2015-03-02 15 views
7

Tôi đang cố gắng sử dụng các nhóm để hạn chế việc sử dụng CPU. Tôi đang sử dụng hướng dẫn này https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpu_and_memory-use_case.htmlSử dụng các nhóm để hạn chế sử dụng CPU

tập tin /etc/cgconfig.conf của tôi là sau

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 của tôi là sau

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

Althouth khi tôi cố gắng chạy:

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

Tôi thấy rằng việc sử dụng CPU trong 100% cho chúng tôi ERS thuộc về bánh xe và nhóm test1

Tôi đã kiểm tra các dịch vụ với dịch vụ tình trạng cgconfig và lên

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) 

bất cứ ai có thể cho tôi biết những gì tôi làm sai? Cảm ơn rất nhiều

+0

Bạn có thể thêm đầu ra của lệnh 'top' khi bạn đang chạy' dd if =/dev/zero =/dev/null bs = 1024k' không? –

+5

'cgroup' chia sẻ sẽ chỉ giới hạn tài nguyên CPU * khi có cạnh tranh cho chúng *. Nếu trong ví dụ của bạn, 'test1' muốn tài nguyên CPU và' bánh xe' không sử dụng bất kỳ, thì không có cạnh tranh và 'test1' có thể có bất kỳ thứ gì nó muốn. Nếu cả hai đều đòi hỏi tài nguyên, thì bạn sẽ thấy hạn chế dựa trên chia sẻ đang ảnh hưởng đến. – twalberg

+0

Xin chào đầu ra như sau: ' ' PID USER PR NI VIRT RES SHR S% CPU% MEM TIME COMMAND ' ' 51.535 user1 20 0 108.956 1680 556 R 100,0 0,0 0: 27,74 dd' '51.557 user2 20 0 108956 1676 552 R 100.0 0.0 0: 23.57 dd' user1 thuộc về nhóm bánh xe và user2 để test1 nhóm – SteveGr2015

Trả lời

12

cpu cgroup là công việc bảo tồn, ví dụ: một nhiệm vụ sẽ không bị ngừng sử dụng CPU nếu không có sự cạnh tranh. Nếu bạn muốn đặt một giới hạn cứng về số lượng cpu mà một công việc có thể sử dụng, hãy thử đặt cpu.cfs_quota_uscpu.cfs_period_us.

Xem tài liệu here.

+0

Cảm ơn bạn rất nhiều nó hoạt động tốt với cpu.cfs_quota_us và cpu.cfs_period_us – SteveGr2015

Các vấn đề liên quan