Cześć,
Jest jakiś łatwy sposób, aby tymczasowo podnieść zasoby z cgroup (burst)? Powiedzmy, że proces ma ograniczone 20% CPU i ma możliwość zrobienia bursta na powiedzmy 30 sekund, aby mógł użyć 100%.
Chodzi mi o to, aby ograniczyć zużycie CPU na powiedzmy 20% per proces, a nie per grupa. Bo per grupa ograniczamy powiedzmy 20% jednego CPU w ten sposób:
echo 10000 > cpu.cfs.quota_us
echo 50000 > cpu.cfs_period_us
I wtedy jak "nie ma konkurencji" to jeden proces może zająć całe 20%, ale kiedy powiedzmy odpalimy drugi to wtedy oba rozdzielone są po 10%.
A mi chodzi o to, aby ustawić limit 20% per proces, ale jeśli jest taka możliwość to aby osiągnął w burście np 100%. Czyli jeśli jest możliwość niech sobie skacze na 100, ale kiedy inne procesy zaczynają mocniej pracować to aby wszystko było rozłożone na 20%. Chodzi, aby jeden proces nie zająć całego CPU dłużej niż na jakiś krótki burst.
Ewentualnie czy jest jakaś funkcja / opcja, która informowałaby mnie że proces zużywa wszystkie zasoby? Wtedy po prostu przeniósłbym go do innej cgroupy na te 30 sekund, która ma dozwolone zużycie 100%, a po tym czasie przeniósł bym proces z powrotem.