编译Linux内核会使操作系统更快吗?

编译下载的Linux内核(例如3.2)是否会使该特定计算机上的操作系统(例如ubuntu)更快?

一般来说,没有。

但是,“否”有一些例外。 例如, wineix内核或Ubuntu内核Flavors 。 这些通常是性能调整,可以产生影响(服务器内核对服务器来说更快,并且不会提高桌面性能)。

使用Ubuntu,如果你运行适当的内核风味,你应该很高兴。

注意: Liquorix内核也有一些补丁(除了性能调整)。

另一个例外是你有一些不寻常的硬件。

但在绝大多数情况下,性能不是编译内核的“标准”原因。

看到:

Ubuntu wiki编译内核

正如bodhi.zazen所说,最准确的答案不是通常,而是有一些例外。 大多数例外都与硬件有关,但有些只是配置问题。 我的答案的理由如下。

我在上个月尝试进行性能调整,在两台机器之间编译了二十六个内核。 我找到了什么:

  1. 将.config中的cpu类型更改为本机体系结构并删除支持其他体系结构的选项可将基准测试中的文件I / O吞吐量提高10%以上(足以让我感觉到“改善”)并减少Xubuntu上XFCE中用户输入后的延迟我的1.8GHz(K8)Mobile Sempron 512MB RAM笔记本电脑上的12.04 -32bit。 在Ubuntu 12.04 64位中,相同的更改对我的1.73GHz Core2 Duo 2GB RAM笔记本电脑没有可量化或可感知的影响,但确实导致一个以前稳定的应用程序容易崩溃。
  2. 将.config中的HZ更改为1000可显着提高在两个系统中的高CPU负载下对用户输入的响应性。 它还在所有条件下瞬间使窗口焦点变化。
  3. BFS补丁将两个系统的电池寿命延长了几分钟。 足够可测量和组成,但不足以重要。 基准测试显示没有统计上显着的性能变化,但两个系统“感觉”更快。 我怀疑这与调度优先级更有利于这些特定机器上的典型工作负载有关。
  4. 尝试的所有其他.config组合导致两个系统的性能下降。

我花了很多时间来编译和测试不同的配置。 尽管如此,在二十六次尝试中,只有五个内核产生了可取的结果。 七个内核甚至无法运行(无法启动或无法启动X)。 我最近从存储库中安装了Liquorix内核,并且在我在Core2系统上通过WINE玩的Windows游戏中获得了上述所有改进以及大约50%的帧速率增加。 这只花了几分钟,没有任何破坏。

我的操作系统更好,因为我编译了自己的内核? 嗯,是的。 直到我发现运行较慢/rest的东西,因为我在测试期间未能找到它。 我的操作系统更快吗? 没有。

根据我的经验,是的。 但其好处主要来自消除不必要的function,以及选择其他function,例如处理器类型。 此外,使其成为桌面使用的超低延迟。 我多年来一直在编译内核,对我而言,差异总是很明显。 但还有其他好处。 启动时间也得到改善。

但是,仅选择所需的选项非常耗时。

我不知道内核如何,但一般来说,从源代码编译应用程序通常会让它们更快地工作(我通常使用像CGAL这样的开发人员或像ParaView这样的应用程序)。 当然,编译过程针对架构进行了优化等等。

但是,我不认为编译内核会使它更快,因为它对性能产生了明显的影响。 在我看来,它只会在性能计数器中可见。

我为EeePC 900A编译了一个内核,只是为了删除不必要的驱动程序和function,在没有额外initrd的情况下启动,设置默认I / O调度程序,优化Atom,以及禁用调试和一些性能和响应性降级function – 保存function。 (它被用作各种小东西的服务器)。 需要更少的启动时间^^大约一年前我尝试过它,但Chromium只显示空白网页 – 带有可点击链接…