CPU limit for Jails(patch for ULE scheduler)

Kage kagekonjou at gmail.com
Fri Apr 24 00:39:06 UTC 2009


I'm definitely interested in this patch.  I can see some good work
coming from this.  However, at this time, I do not have a development
FreeBSD server I can heavily test this on.  I'm definitely looking
forward to a "stable" patch of this, and will make use of it.

Please keep us informed!

2009/4/21 Miroslav Lachman <000.fbsd at quip.cz>:
> Меньшиков Константин wrote:
>>
>> Hello all!
>> Many users want have limits on resourse for jail, for examle cpu and
>> memory limit.
>> I`m rewrire original cdjones patch  for cpu limit for jail under ULE
>> scheduler.
>> So,  this work simple.
>> We count cpu usage for all jails, and if jail use cpu more than have
>> shared cpu, we move his threads to IDLE queue and return to TIMESHARE in
>>  reverse case.
>> Jailed thread can use all avaliable cpu time, if  system has avaliable
>> cpu.
>> If system under heavy load, jailed thread can`t use cpu long as ratio
>> (shared cpu for jail/ all shared cpu) < (estimate usage cpu for jail /
>> all usage cpu) .
>> Unjailed thread and interactive thread are not subject to this regime.
>> Add 2 sysctl
>> kern.sched.total_sched_shares - total count shares cpu in system,
>> increase if we have more cpu
>> kern.sched.flush_estcpu_interval - flush estcpu interval in ticks,
>> default is 2560 = 2 * 128 * 10, NCPU*stathz*sec, increase if we have
>> more cpu
>> For use cpu limit, you need use flag -S NSharedCPU in /usr/sbin/jail
>> program.
>> My example jail -S100 /usr/jails/root/ root.kostjn.pht  192.168.0.245
>> /bin/csh
>>
>> I`m tested this under 10 simultaneous process in jail and in main
>> system. test program is infinity cycle an 8 core xeon, use RELENG_7.
>> First run process in jail, and after in main system.
>> This one process tracking cpu usage
>
> [...]
>
>> So we see, that after run in main system, jailed process can`t usage cpu.
>>
>> Please communicate me  about all problem in this patch.
>> This is initial version, without tune jail parameter in runtime.
>>
>> So, this work. But i`m not sure, that is best way.
>>
>> Attempt increase priority for jailed thread not work, because non
>> interactive thread (that utilize many cpu) already have small
>> prioriry(numerical high).
>> Attempt decrease number ticks in cpu time slice, also not good idea,
>> because, this increase number context switching on high load.
>> May be you see other way for do this?
>> Share you idea.
>>
>> Thank.
>> Original cdjones  cpu and memory limit patch
>> http://wiki.freebsd.org/JailResourceLimits
>
> Hello,
> I can't judge your work / patch as I am not developer nor C programmer. But
> it is nice to see that someone is working on the resource limits. I am
> waiting for this feature for a years without success. The original SoC
> project was never done (not production ready). There were attempts by others
> to update cdjones patch to newer versions of FreeBSD, but still with some
> minor problems. The last I remember is "Memory limits on 7.0" by Christopher
> Thunes (e-mail in archive of this list from 2008-06-24). Unfortunately I had
> not time to test his patch in times of 7.0 and I am not aware of any newer
> version of this patch (for 7.1 or upcoming 7.2).
>
> It would be nice if independent developers can work together on this subject
> and do this work production / commit ready.
>
> May be you should open PR with you patch, so anybody can find it, test it
> and help to make it better. Or if you have own web page with this patch +
> some documentation, I can put the link to http://wiki.freebsd.org/Jails
>
> Can you take a look to Memory limits patch and incorporate it in to your
> patch?
>
> Do you have a plan to add jtune?
>
> Thanks for your work, I hope I will have time to test it in few weeks.
>
> Miroslav Lachman
> _______________________________________________
> freebsd-jail at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-jail
> To unsubscribe, send any mail to "freebsd-jail-unsubscribe at freebsd.org"
>



-- 
~ Kage
http://vitund.com
http://hackthissite.org


More information about the freebsd-jail mailing list