Fitur CPU burst memungkinkan kontainer yang dibatasi CPU untuk melebihi penggunaan CPU demi mencapai performa lebih tinggi dan latensi sistem lebih rendah. Alibaba Cloud Linux 2 mulai dari versi kernel 4.19.91-22.al7 dan Alibaba Cloud Linux 3 menyediakan fitur CPU burst untuk cgroup v1. Topik ini menjelaskan cara mengaktifkan fitur CPU burst untuk cgroup v1 serta cara menanyakan statistik CPU burst.
Untuk informasi tentang fitur CPU burst, lihat Menghilangkan Pembatasan CPU yang Mengganggu.
Aktifkan fitur CPU burst
Untuk memeriksa apakah fitur CPU burst diaktifkan secara global untuk cgroup v1, jalankan perintah berikut:
cat /proc/sys/kernel/sched_cfs_bw_burst_enabledPenjelasan keluaran perintah:
Jika fitur CPU burst diaktifkan secara global, nilai
1akan dikembalikan.CatatanSecara default, fitur CPU burst diaktifkan secara global untuk cgroup v1.
Jika fitur CPU burst dinonaktifkan secara global, nilai selain
1akan dikembalikan.Untuk mengaktifkan fitur CPU burst secara global untuk cgroup v1, jalankan perintah berikut:
sudo sh -c 'echo 1 > /proc/sys/kernel/sched_cfs_bw_burst_enabled'
Aktifkan fitur CPU burst untuk child cgroup tertentu.
CatatanSecara default, fitur CPU burst dinonaktifkan untuk semua child cgroup dari cgroup v1.
Untuk masuk ke jalur child cgroup dan memeriksa apakah pengontrol bandwidth CFS telah diterapkan, jalankan perintah berikut:
Ganti
<cgroup>dengan direktori child cgroup.cd /sys/fs/cgroup/cpu/<cgroup>/ cat cpu.cfs_period_us cat cpu.cfs_quota_usJika pengontrol bandwidth CFS telah diterapkan, bilangan bulat positif akan dikembalikan untuk
cat cpu.cfs_quota_usdalam keluaran perintah. Dalam hal ini, Anda dapat mengaktifkan fitur CPU burst untuk memungkinkan kontainer memanfaatkan sumber daya CPU melampaui batas yang ditentukan.Untuk melihat pengaturan CPU burst default, jalankan perintah berikut:
cat cpu.cfs_burst_usJika fitur CPU burst dinonaktifkan, nilai default
0akan dikembalikan dalam keluaran perintah.Konfigurasikan
cpu.cfs_burst_usuntuk mengaktifkan fitur CPU burst.Anda dapat mengatur cpu.cfs_burst_us menjadi bilangan bulat positif untuk mengaktifkan fitur CPU burst dan menggunakan bilangan tersebut sebagai batas CPU burst. Berikut adalah contoh cara mengaktifkan fitur CPU burst:
Konfigurasikan file default
cpu.cfs_quota_usdancpu.cfs_period_usuntuk pengontrol bandwidth CFS.cpu.cfs_period_us menentukan periode selama sumber daya CPU digunakan. cpu.cfs_quota_us menentukan jumlah maksimum sumber daya CPU yang dapat dimanfaatkan setiap child cgroup selama setiap periode yang ditentukan oleh cpu.cfs_period_us. Jalankan perintah berikut untuk mengatur
cpu.cfs_period_usmenjadi 100 ms dancpu.cfs_quota_usmenjadi 400 ms, sehingga setiap child cgroup terus mendapatkan empat sumber daya CPU. Perhitungan dilakukan menggunakan rumus berikut:cpu.cfs_quota_us/cpu.cfs_period_us.sudo sh -c 'echo 400000 > cpu.cfs_quota_us' sudo sh -c 'echo 100000 > cpu.cfs_period_us'Konfigurasikan
cpu.cfs_burst_usuntuk mengaktifkan fitur CPU burst.Jalankan perintah berikut untuk mengatur cpu.cfs_burst_us menjadi 600 ms, mengaktifkan fitur CPU burst dan mengizinkan setiap child cgroup memanfaatkan hingga enam sumber daya CPU di atas batas CPU. Nilai ini dihitung menggunakan rumus berikut:
cpu.cfs_burst_us/cpu.cfs_period_us.sudo sh -c 'echo 600000 > cpu.cfs_burst_us'
Tanyakan statistik CPU burst
Untuk masuk ke jalur child cgroup dan melihat statistik CPU burst, jalankan perintah berikut:
Ganti <cgroup> dengan direktori child cgroup.
cd /sys/fs/cgroup/cpu/<cgroup>/
cat cpu.statParameter dalam keluaran perintah:
nr_burst: Jumlah CPU burst yang dipicu oleh child cgroup.burst_time: Panjang kumulatif waktu CPU burst untuk child cgroup.