技术解析

有人能解释一下 Linux 几种内核的区别吗?
0
2021-06-18 21:16:56
idczone

今天想更新一下 linux 内核,无意间发现有-generic、-lowlatency -azure -gcp 等好几种,google 搜了下,看到 ubuntu 社区有个 tips:

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 fist 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

他这说的延迟是什么延迟啊?换低延迟内核能提升系统性能吗?


是 linux 桌面系统操作的延迟

世上没有免费的午餐,想要低延迟,就要牺牲吞吐,要看场景选用

延迟指的是多任务调度的延迟,延迟低指的是切换频繁,是频繁,不是快,所以在需要实时性的系统里,就可以更快响应。但调度本身有开销,调度频繁,开销就大,所以系统总体的吞吐就会降低。
如果对实时性没有要求,那就没必要付这些调度开销。能不能提高性能,要看你以什么作为性能指标,是低延迟,还是高吞吐。

懂了,感谢

所以是:
generic < preempt < lowlatency 那最后一个 realtime 和 generic 怎么排?

realtime 的延迟应该是跟 rt 差不多的。一个是稳定版一个是最新版的区别吧。新的 rt 可能采取更加激进的调度算法,所以可能有设备不支持

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服