Kernel Timeslice

Gilboa Davara gilboad at gmail.com
Tue Nov 18 10:24:11 UTC 2008


On Mon, 2008-11-17 at 14:45 -0500, Steve West wrote:
> >> > Steve West wrote:
> >> >> I am running Fedora 9 x86 64 bit. What is the kernel timetick per
> >> >> thread? How many threads per second does the kernel run?
> >> > Probably not quite what you are asking but here goes:
> >> > http://kerneltrap.org/node/464
> >> >
> >> > run for a few seconds:
> >> > $ vmstat 1
> >> >
> >> > look at system|in = interrupts per second.
> >> > this is approximately the interupts per second or timer Hz value.
> >> >
> >> > from the kernel config parameter HZ_1000 etc:
> >> > getconf CLK_TCK
> >> >
> >> > DaveT.
> >> Is there ay way to set the ticks without rebuilding the kernel?
> >
> > Perhaps if you explained what you are trying to achieve people might be
> > able to help you get there.
> >
> > poc
> I have an application/service that has 1000 or so threads. Most of these are 
> TCPIP socket accept and connect. I want to be able to run all the threads in 
> a second or so to achieve a reasonable throughput. I would like the kernel 
> to run 1000 threads per second. Right now I think it is set for 100 ticks 
> per second in f9 x86 64bit.
> 
> Steve 
> 

Having you considered using a far smaller number of threads and
select/poll to wait on the sockets instead of allocating
thread-per-client.

In my experience, unless your server code is I/O bound (in which case,
you can always use asyncio and/or I/O worker threads), a single thread
can max out the bandwidth of 1Gbps line and handle 100's of clients.

- Gilboa




More information about the fedora-list mailing list