Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

After installing Ubuntu Studio 12.04, I found that it uses a low latency kernel. I searched why and how to change back to realtime or generic ones. But, looks like this part of Linux hasn't been covered so much.

Q: Why to choose low latency kernel over generic or realtime ones?

P.S:L I have already read the answers from this question and this post.

share|improve this question
+1 because it must be a pretty good question if everyone's stumped. I STILL don't know the difference between the low-latency, generic, and realtime kernels. If -realtime is realtime, then what does -rt stand for? And what's up with the -preempt kernel? I will thank gemue2010, he did a pretty good job explaining it, but it still doesn't explain everything. – Hitechcomputergeek May 21 '15 at 1:55

These are some simple guidelines provided to help you understand which kernel, and in which order, you should test to fit your use case.

  • If you do not require low latency for your system then please use the -generic kernel.
  • If you need a low latency system (e.g. for recording audio) then please use the -preempt kernel as a first choice. This reduces latency but doesn't sacrifice power saving features. It is available only for 64 bit systems (also called amd64).
  • If the -preempt kernel does not provide enough low latency for your needs (or you have an 32 bit system) then you should try the -lowlatency kernel.
  • If the -lowlatency kernel isn't enough then you should try the -rt kernel
  • If the -rt kernel isn't enough stable for you then you should try the -realtime kernel

I guess it depend what you will do with you studio distro. For some users, generic will just do fine, for other it won't.

FREEDOM SPEECH, try read this link :

share|improve this answer
I already read the previous article you posted. About the second, how much are those facts reliable? – Starx Apr 28 '12 at 3:30
Well the tests mentioned there talks by themselves. If Ubuntu team have chosen Latency in the first place, it must be a reason to it. SO you wanted to know the differences, now you do. Problem solved ? – ubuntu fan Apr 28 '12 at 3:50
No.. I dont think the problem is solved. If your answer does anything, it increases my curiosity more. – Starx Apr 28 '12 at 4:09
Is any of this still true in 2015? The -preempt, -rt, and -realtime kernels no-longer exist – naught101 Sep 21 '15 at 23:29

I'm the author of the blogpost linked by ubuntu fan:

That blog post doesn't present any fact, it's only theory. It's the way it works, actually: the processor "stops" more frequently to see if there are some processes requiring immediate attention. That means that those processes will be executed before the others, so you won't skip frames when encoding, or have huge delay times between mouse clicks and enemy deaths. It doesn't mean that all processes will end sooner: actually the CPU is losing a bigger portion of its time deciding what process will be executed next, and doing the context switch. So the total execution time is longer, and that's why no one runs a preemptible kernel on webserver or database machines. But a preemptible 300Hz (or even 1000Hz) kernel is the best for gameservers.

But nowadays processors have many cores, so when there are few processes requiring attention they can easily be allocated on a different core rather than waiting for a core to take it.

(stackexchange requires me references/personal experience: I'm an electronic engineer, bloodthirsty noobgamer mantaining several gameservers at ).

So, as a rule of thumb, I'd say: if your processor is a powerful number-crunching high-frequency quad-core AND you don't usually open tons of webpages while encoding/decoding/gaming (huh), you could just try the generic (or i686, or amd64 if they exist) kernel and have the highest possible throughput (i.e., the raw number-crunching the processor is able to do). If you experience problems (they should really be minor) or your machine is slightly less powerful than the top of the market, go for the -preempt.

If you're on a low-end machine that has only one or two cores, then try the -lowlatency. You could also try the -realtime, but you'll find that it tends to block processes until the "real-time" ones have finished their job. I believe the realtime kernel isn't the "vanilla" one, but has the CONFIG_PREEMPT_RT patch applied. I think that realtime kernels are only for those who have to build a single application on embedded systems, so usual desktop users shouldn't have real benefits because they usually run a fair number of applications at the same time.

Finally, the most relevant kernel options if you want to recompile your kernel yourself to have a low-latency desktop are:




To add some powersaving you may check this one:

share|improve this answer
I noticed you mention maintaining servers, I'm trying to figure out the best kernel for valve source dedicated server (CSGO specifically). most CS threads I find are related to goldsrc which needed 1000Hz kernel. With srcds, is lowlatency bad? if it doesn't matter I'll just stick to lowlatency as that's what I have right now (I isolate the cpu cores for 128 tick srcds servers as it doesn't really benefit from multi threading anyway). – Vincent De Smet Apr 11 '14 at 20:42
Useful to know thid tips, I will totally change to preempt. I'm not in such a hurry thay I want my kernel yo act like a filthy pirate. – userDepth Apr 7 at 13:53

BTW: preemt-, lowlatency or the rt kernel wont make your system faster. They are slightly slower than generic kernel.

share|improve this answer
Can you explain your reasoning or give sources? – hexafraction Jul 16 '12 at 14:54
Did you mean my answer ObsessiveFOSS? Short answer: because it introduces more overhead in the kernel. You may read this interesting article if you want to get more information: – gemue2010 Jul 19 '12 at 1:16
poor wording. "Faster" could mean either throughput or latency. – Eero Aaltonen Jan 14 at 7:56

From the document cited above (

  1. a soft real-time system will give reduced average latency but not a guaranteed maximum response time.
  2. A hard real-time system meet the desired deadlines at all times (100 percent), even under a worst-case system load.
  3. According to Yaghmour [4], "Real-time deals with guarantees, not with raw speed."

The article says for hard realtime kernel responsiveless or time bound is most important property so sometime they delay non critical activity that lead to delay but for lowlatency or other soft real time kernel try to reduce general latency which helps in most of case. Due to reduced latency the system seem to be fast. Read the article carefully.

share|improve this answer
That’s true but we need to know which kernel variant matches which real-time system “hardness”. – Melebius Nov 10 '15 at 13:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.