Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 2009 20:09:18 -0400
From:      Kage <kagekonjou@gmail.com>
To:        Miroslav Lachman <000.fbsd@quip.cz>
Cc:        =?KOI8-R?B?7cXO2NvJy8/XIOvPztPUwc7Uyc4=?= <k.menshikov@peterhost.ru>, freebsd-jail@freebsd.org
Subject:   Re: CPU limit for Jails(patch for ULE scheduler)
Message-ID:  <d1556b2b0904231709t1b88a4beifcf14fd8d13a685e@mail.gmail.com>
In-Reply-To: <49EE42C5.3010409@quip.cz>
References:  <49EC926D.6020404@peterhost.ru> <49EE42C5.3010409@quip.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
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@quip.cz>:
> =ED=C5=CE=D8=DB=C9=CB=CF=D7 =EB=CF=CE=D3=D4=C1=CE=D4=C9=CE wrote:
>>
>> Hello all!
>> Many users want have limits on resourse for jail, for examle cpu and
>> memory limit.
>> I`m rewrire original cdjones patch =9Afor cpu limit for jail under ULE
>> scheduler.
>> So, =9Athis 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
>> =9Areverse case.
>> Jailed thread can use all avaliable cpu time, if =9Asystem 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 =3D 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 =9A192.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 =9Aabout 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 =9Acpu 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. B=
ut
> 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 oth=
ers
> 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 Christop=
her
> 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 newe=
r
> version of this patch (for 7.1 or upcoming 7.2).
>
> It would be nice if independent developers can work together on this subj=
ect
> 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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-jail
> To unsubscribe, send any mail to "freebsd-jail-unsubscribe@freebsd.org"
>



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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d1556b2b0904231709t1b88a4beifcf14fd8d13a685e>