最近我了解了实时内核。我只是想知道如何将我当前的 CentOS 7.3 内核变成实时内核。
我的内核版本是“3.10.0-514.2.2.el7.x86_64”。
答案1
如果您没有修补自己的内核的经验,请从存储库安装库存实时内核之一。其中一种选择是使用 CERN 的 -ml 系列内核。
为此,首先安装 CERN-RT 存储库:
wget http://linuxsoft.cern.ch/cern/centos/7/rt/CentOS-RT.repo
yum groupinstall RT
这将安装 RT 内核。下一个:
reboot
重新启动后,您可以检查正在运行的内核版本,如下所示:
uname -a
如果您没有使用刚刚安装的新内核,则可能需要调整 /etc/default/grub 中设置为默认的内核。 GRUB_DEFAULT= 按数字顺序指向正在使用的内核映像。第一个列出的是 0,然后是 1,依此类推。确保列出了正确的数字后,请执行以下操作:
grub2-mkconfig -o /boot/grub2/grub.cfg
再次重新启动并验证您现在是否使用正确的内核。有关 CERN 内核的更多信息可以在这里找到:
答案2
您需要首先添加 CentOS 实时存储库:
sudo tee /etc/yum.repos.d/CentOS-rt.repo >/dev/null <<EOF
# CentOS-rt.repo
[rt]
name=CentOS-7 - rt
baseurl=http://mirror.centos.org/centos/\$releasever/rt/\$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
然后安装 rt-kernel 并调整配置文件:
sudo yum update -y
sudo yum install -y kernel-rt rt-tests tuned-profiles-realtime
sudo reboot
但请注意,单独的实时内核不会自动为您提供最佳的实时行为。有许多旋钮需要调整才能实现这一点,从 BIOS 级别(例如禁用 CPU 节能、某些 SMI 中断等)到系统级别(CPU 分区、IRQ 平衡等)再到应用程序级别。
您可以在中找到一些有用的调整技巧RHEL 实时高级调优文档。
答案3
要安装特定版本,一种方法是:
- 将 CentOS-RT 存储库添加到 yum
- 下载您需要的确切内核 rpm 文件
- 通过 yum 安装 rpm
例如,我需要安装 kernel-rt-3.10.0-1062.12.1.rt56.1042,可以在这里找到:http://ftp.riken.jp/Linux/cern/centos/7/rt/x86_64/Packages/
步骤1
您需要将 CentOS-RT 存储库添加到 yum,以便在安装内核 rpm(步骤 3)时,yum 知道在哪里可以找到依赖项。
yum-config-manager --add-repo http://linuxsoft.cern.ch/cern/centos/7/rt/CentOS-RT.repo
第2步
wget http://ftp.riken.jp/Linux/cern/centos/7/rt/x86_64/Packages/kernel-rt-3.10.0-1062.12.1.rt56.1042.el7.x86_64.rpm
步骤3
yum -y install kernel-rt-3.10.0-1062.12.1.rt56.1042.el7.x86_64.rpm
答案4
当谈论实时 Linux 内核时,可能有不止一种解决方案。如果你读过 RT 补丁,你应该看这里:
https://rt.wiki.kernel.org/index.php/Main_Page
拉米·罗森