原标题:Linux内核5.9的最重要功能及安装方法
Linux内核5.9带来了吸引数据中心管理员的诸多性能提升。本文作者着重介绍了改进之处,并介绍了如何安装主线内核。
与5.8一样,Linux内核5.9确实没有任何改变游戏规则的功能,至少对普通用户而言没有。然而如果您是铁杆的IT专业人员,可能有几项心仪的功能会吸引您将5.9内核安装到数据中心服务器中(稍后详细介绍)。
不妨看一下最新Linux内核的一些比较重要的功能。
Linux内核5.9:大幅提升性能
重大新闻是Linux内核5.9为AMD架构和英特尔架构带来了性能提升。基于英特尔的系统将通过FSGSBASE支持获得性能提升,该版本终于有了完整支持功能。FSGSBASE指令是随英特尔Ivy Bridge CPU推出的,可在上下文切换任务繁重的情况下提升性能。该新指令还可以使用户空间无需与内核联系即可编写GSBASE。添加FSGSBASE会使Linux内核在基准测试和实际使用方面都有大幅改进。
如果您的数据中心有ARM/ARM64设备,您不会被抛弃。Linux内核5.9通过优化的调度程序利用率信息Schedutil,为该特定架构带来了性能提升。这项新增功能类似英特尔P状态推送。
ARM/ARM64架构还获得了新的sysfs切换功能(可控制CPU能源效率优化)以及许多CPUfreq修复程序。
Linux内核5.9:存储和文件系统的改进
考虑到Fedora 33正迁移到Btrfs,新内核似乎很合适。Linux内核5.9使Btrfs获得了性能上的诸多改进。为SSD设备增添加大支持NVMe 2.0的力度后,服务器上的文件系统性能也会大大提升。Btrfs的一项重要提升是添加了新的救援挂载选项,该选项将所有的现有挂载选项组合在一起,确保更可靠的恢复。
并非只有Btrfs获得补丁、调整和各种优化。XFS、ext4和F2FS在最新的Linux内核中备受关注。
Linux内核5.9:其他改进和添加
还有其他许多Linux数据中心管理员会觉得很重要的改进和添加。主要包括如下:
更好的匿名内存管理;
新的slab内存控制器,这有望减少总的内核内存使用量;
支持ZSTD压缩的内核、ramdisk和initramfs,将缩短启动时间;
USB 4规范获得更多的支持;
支持IBM POWER10处理器方面做了初步工作;
针对所有模块上的竞态条件和内存泄漏的修正版。
如何安装Linux内核5.9?
在介绍如何安装最新的Linux内核之前,我知道您可能不会这么做。为什么?因为支持数据中心的Linux发行版(比如Ubuntu、RHEL、SLED和CentOS)并没有将种种优化添加在该版本中。因此,虽然您可能获得性能提升及其他新功能,但可能会错过坚持使用发行版默认设置而获得的功能。
您可能有充分的理由升级到这个最新的Linux内核,或者您可能只想在非生产系统上对其进行测试。不管怎样,安装最新的Linux内核不那么困难(至少在某些发行版上是这样)。
我会逐步介绍在Ubuntu Server和CentOS 8上安装Linux 5.9(主线)内核的过程。
如何在Ubuntu Server上安装Linux内核5.9(20.04)?
登录到服务器,使用以下命令下载必要的.deb文件:
cd /tmp
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900_5.9.0-050900.202010112230_all.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-headers-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-image-unsigned-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9/amd64/linux-modules-5.9.0-050900-generic_5.9.0-050900.202010112230_amd64.deb
一旦所有文件下载完毕,用该命令安装它们:
sudo dpkg -i *.deb
安装完成后重启,应该就可以了。重新登录到系统,执行命令:
uname -r
您应该会看到Ubuntu服务器现在运行内核5.9。
如何在CentOS 8上安装Linux内核5.9?
现在不妨在CentOS 8上执行同样的操作。登录到该服务器,先使用以下命令安装必要代码库的GPG密钥:
cat /etc/redhat-release
uname -srv
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
使用该命令安装代码库:
sudo dnf install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm
使用该命令安装主线(5.9)内核:
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
重启CentOS系统。一旦您重新登录进去,执行命令:
uname -r
您应该会看到Linux 5.9内核已列出。
恭喜!您已在Ubuntu Server和CentOS 8上都成功安装了5.9 Linux内核。在测试机器或虚拟机上执行这番操作,看看这个最新内核的性能提升是否名副其实。