Saya memiliki 3 proses pada satu mesin inti. Setiap proses persis sama dan membakar CPU secepat mungkin (loop ketat). Dua di antaranya ( Adan B) diluncurkan dengan cgexec dalam grup terpisah dengan pembagian diatur ke 512 dan 512. Yang ketiga ( C) diluncurkan secara teratur, bukan dengan cgexec.
Setelah semuanya aktif dan berjalan, Cdapatkan 66% dari CPU sementara Adan Bbagi 33%. Jika saya bunuh Cmaka Adan Bdapatkan masing-masing 50% (seperti yang diharapkan).
Mengapa Cmendapat 66%? Saya akan mengharapkan masing-masing 33% dalam skenario ini, atau mungkin 50% (C), 25% (A) dan 25% (B). 66% tidak akan Cberhasil tidak peduli bagaimana saya menghitungnya.
Secara umum, saya ingin memahami bagaimana proses diluncurkan tanpa cgexecberinteraksi dengan proses yang diluncurkan dengan cgexecketika datang ke berbagi sumber daya (CPU pada khususnya, tetapi jawaban yang lebih umum akan dihargai jika tidak terlalu rumit).
topdan saya percaya mereka dimulai cukup hanya dari prompt perintah: cgexec -g cpu:foo myprogramdan ./myprogram. Sudah lama jadi saya tidak ingat dengan pasti.
cpu.sharesadalah opsi konfigurasi yang sangat aneh; Saya merekomendasikan pemisahan hal-hal oleh CPU jika memungkinkan menggunakan cpuset.cpussebagai gantinya.