Quản lý CPU limits trên Virtuozzo
Giới hạn CPU cho Containers và VM trên Parallels Server Bare Metal ( PSBM ), Parallels Virtuozzo.
Việc giới hạn sử dụng CPU trên các Container hoặc VM được xác định theo các tham số sau.Cpus: Tham số này qui định số core/thread tối đa mà VM/CT được phép sử dụng tại 1 thời điểm từ CPU của host. VM/CT sau khi được cấp số lượng core/thread này sẽ không thể sử dụng nhiều hơn số lượng core/thread đó trên host.
Cpumask: Để chỉ định VM/CT sử dụng core/thread nào trên host CPU.
Ví dụ:
Một Server có CPU có 8 core và bạn muốn các tiến trình trong container 102 được xử lý bởi chỉ 2 core cuối từ host CPU.
B1: Hiển thị các chỉ mục Core/thread của host CPU (Bắt đầu từ 0 -> n)
#numactl -H | grep cpu
node 0 cpus: 0 1 2 3 4 5 6 7
B2: Cấu hình cho CT 102 sử dụng 2 core cuối từ host CPU
#vzctl set 102 –cpumask 6,7 –save
Để kiểm tra container 102 hiện đang được phục vụ bởi core nào:
#vzctl 102 –o cpumask
Để cấu hình container 102 tự động sử dụng các core hiện có trên host CPU:
#vzctl set 102 –cpumask auto –save
Cpuunits : Qui định độ ưu tiên xử lý host CPU mà CT được ưu tiên sử dụng khi vào một thời điểm có nhiều VM/CT khác trên host cũng đang cần sử dụng phần CPU này hoặc trong trường hợp host CPU đầy tải. Cpuunits VM/CT nào cao hơn sẽ được ưu tiên hơn.
#vzctl set 101 –cpuunits 272004 –save
Nodemask : Chỉ định CPU vật lý mà VM/CT được phép sử dụng, Nodemask sử dụng cùng lúc với Cpumask để chỉ định CPU vật lý và core trên CPU vật lý đó cho VM/CT sử dụng. Giả sử Server của bạn có 2 CPU vật lý, mỗi CPU 8 core/thread. VD muốn chỉ định VM/CT sử dụng CPU vật lý thứ 2 và core bất kì.
B1: Hiển thị các chỉ mục CPU vật lý và Core/Thread của host CPU
#numactl -H | grep cpu
node 0 cpus: 0 1 2 3 8 9 10 11 (CPU vật lý 1)
node 1 cpus: 4 5 6 7 12 13 14 15 (CPU vật lý 2)
B2: Chỉ định cho VM/CT sử dụng CPU vật lý thứ 2
#vzctl set 102 -nodemask 1 –cpumask auto –save
Cpulimit : Parallels cung cấp 2 giá trị chỉ định tốc độ xử lý của VM/CT theo 2 dạng: phần trăm tốc độ host CPU (%) và tốc độ host CPU theo megaherz.
Giả sử một server có 4 core và xung nhịp của nó là 2000Mhz. Khi một core hoạt động tối đa thì nó đạt mức 100% (2000Mhz) , ví dụ một server có 4 core thì mức hoạt động tối đa của nó sẽ là 400% hoặc 8000Mhz.
Các bảng bên dưới sẽ thể hiện rõ hơn về Limit CPU trên 2 phần cứng khác nhau.
#vzctrl set CTID –save –cpus 1 –cpulimit 100%
#vzctrl set CTID –save –cpus 2 –cpulimit 100%
#vzctrl set CTID –save –cpus 1 –cpulimit 50%
#vzctrl set CTID –save –cpus 2 –cpulimit 50%
#vzctrl set CTID –save –cpus 1 –cpulimit 1000m
#vzctrl set CTID –save –cpus 1 –cpulimit 2000m
#vzctrl set CTID –save –cpus 4 –cpulimit 100%
#vzctrl set CTID –save –cpus 4 –cpulimit 2000m
#vzctrl set CTID –save –cpus 4 –cpulimit 250%