
一. 前言
低延迟内核(Lowlatency Kernel) 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调度优先级以及系统内存的分配,最大限度地减少了延迟。
通用内核(Generic Kernel) 旨在提供平衡的系统性能,适合大多数普通的使用场景。它会将CPU时间平均分配给不同的任务,适合普通的桌面使用,但不能满足对时间敏感的任务的需求。
特性 | 通用内核(Generic Kernel) | 低延迟内核(Lowlatency Kernel) |
---|---|---|
调度策略 | 适合平衡多任务的处理,适用于大多数一般用途的计算任务。 | 优化了调度策略,优先处理实时任务,减少任务间的延迟。 |
中断优先级 | 中断处理优先级较低,适合普通计算任务。 | 针对实时任务优化了中断响应,能迅速响应硬件事件。 |
性能优化 | 提供平衡的系统性能,适用于多种计算任务。 | 在某些通用任务下可能略有性能牺牲,但提供更好的实时响应。 |
适用场景 | 适合日常计算、服务器及普通桌面环境使用。 | 适用于音频、视频处理、实时控制等需要精确时间控制的任务。 |
二. 开发环境
Ubuntu: Ubuntu 20.04.6 LTS
虚拟机: VMware Workstation 17 Pro
内核版本: Linux ubuntu 5.4.0-208-lowlatency
三. 具体操作
首先,我们使用uname -a
来查看目前使用的内核版本,如下图,我目前使用的是Linux ubuntu 5.15.0-134-generic
内核。下面我们将把这个内核更改为Linux ubuntu 5.4.0-208-lowlatency
。

1. 更新系统
sudo apt update
sudo apt upgrade
2. 安装 linux-lowlatency 内核
sudo apt install linux-lowlatency
3. 查看安装的所有内核版本
dpkg --list | grep linux-image
使用该指令,查看当前系统所安装的所有内核版本,可以看到lowlatency,表示低延时内核已经安装完毕。

接下来,我们要使系统在开机时采用linux-lowlatency内核,以下有两种方法,可以根据需要自行选择。
4. 方法一:进入BIOS设置
在虚拟机开机时,按下Esc键
,使得系统进入BIOS界面
。

在BIOS菜单中选择Advanced options for Ubuntu ---> Ubuntu, with Linux 5.4.0-208-lowlatency
。

这种方法每次开机都需要进入BIOS中选择内核,适合经常切换内核版本的用户。
4. 方法二:修改grub设置
第二种方法本质和第一种是一样的,只是将过程直接写入系统的默认引导中,具体方法如下:
sudo nano /etc/default/grub
进入grub
后,修改GRUB DEFAULT
参数,这里将0改为"Advanced options for ubuntu>Ubuntu, with Linux 5.4.0-208-lowlatency"
,具体的lowlatency版本需要根据自己下载的版本来修改,本质上就是把在BIOS中的选项写到grub文件中。

修改完成后,还需要更新grub文件,并且重启系统:
sudo update-grub
sudo reboot
重启后系统会自动进入Linux ubuntu 5.4.0-208-lowlatency
内核,可以使用uname -a
来查看。
