이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 1. Installing RHEL for real time


Many industries and organizations require low and predictable latency, especially in the financial and telecommunications industries. Latency, or response time, is the time between an event and system response, generally measured in microseconds (μs).

Basic performance tuning can improve latency for most applications in a Linux environment. For industries that require low, accountable, and predictable latency, Red Hat developed a 'drop-in' kernel replacement. RHEL for Real Time is part of RHEL 10 and offers clients the opportunity to measure, configure, and record latency times.

Important

On 64-bit ARM (aarch64) systems, the RHEL for Real Time kernel (kernel-rt) is available as a Technology Preview. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

1.1. RHEL for Real Time for optimizing latency

RHEL for Real Time is designed to be used on well-tuned systems for applications with extremely high determinism requirements. The kernel offers the vast majority of the improvement in determinism.

For example, in many workloads, thorough system tuning improves consistency of results to an optimum percentage. Before using RHEL for Real Time, perform system tuning of standard RHEL first. This tuning helps determine if standard RHEL meets your objectives.

System tuning is just as important when using the Real Time kernel as it is for the standard kernel. Installing the Real-time kernel on an untuned system is not likely to result in any noticeable benefit. Tuning the standard kernel helps achieve good latency numbers, though not consistently. The Real Time kernel provides the required latency reduction, determinism, and consistency.

Warning

Before tuning Real Time kernel systems, ensure that the base platform is properly tuned and the system firmware parameters are adjusted. Failure to perform these tasks might prevent getting consistent performance from a RHEL Real-time deployment.

The objective of the Real-time kernel is to provide consistent, low-latency and determinism, offering predictable response times. The real time kernel requires additional processing resources. To provide reduced latency and ensure the highest-priority task receives more processing time, extra infrastructure is required. This additional infrastructure increases resource usage. This increased resource usage might result in some degradation in overall throughput. The exact amount is very workload dependent, ranging from 0% to 30%.

For typical workloads with kernel latency requirements in the millisecond (ms) range, the standard RHEL kernel is sufficient. However, if your workload has stringent requirements for core kernel features, such as interrupt handling and process scheduling, to have latency in the microsecond (μs) range, using the Real Time kernel is recommended.

1.2. Installing RHEL for Real Time using dnf

To obtain the real-time kernel, you can install it by using the dnf utility, or you can download it along with other RHEL components from the Download Red Hat Enterprise Linux portal.

Prerequisites

  • The latest version of RHEL 10 is installed on an AMD64 or Intel 64 system. The real-time kernel runs on AMD64 and Intel 64 (also known as x86_64) server platforms that are certified to run Red Hat Enterprise Linux.
  • Your machine is registered and RHEL is attached to a RHEL for Real Time subscription.
  • Ensure that the base platform is properly tuned and the system firmware parameters are adjusted. Failure to perform these tasks before installing the real-time kernel might prevent consistent performance from a RHEL for Real Time deployment.

Procedure

  1. Enable the RHEL for Real Time repository.

    # subscription-manager repos --enable rhel-10-for-x86_64-rt-rpms
    Note

    If you are using an Extended Update Support (EUS) subscription, enable the RHEL for Real Time EUS repository instead:

    # subscription-manager repos --enable rhel-10-for-x86_64-rt-eus-rpms

    For more information about EUS, see Red Hat Enterprise Linux Life Cycle.

  2. Install the RHEL for Real Time package group.

    # dnf groupinstall RT

    This group installs several packages:

    • kernel-rt includes meta-package that carries the list of package dependencies to have a functional kernel-rt installed.
    • kernel-rt-core includes the core RHEL for Real Time kernel package.
    • kernel-rt-devel includes the proper kernel binary, compiled with PREEMPT_RT enabled, the package also contains configuration and scripts to drive the kernel installation.
    • kernel-rt-modules-core includes the essential kernel modules required for a functional kernel. kernel-rt-modules provides commonly used kernel modules, a complement to kernel-modules-core.
    • kernel-rt-modules-extra includes the RHEL for Real Time kernel extra modules package.
    • realtime-setup sets up the basic environment required by RHEL for Real Time.
    • rteval evaluates system suitability for RHEL for Real Time.
    • rteval-loads provides source code for rteval loads.
    • tuned-profiles-realtime includes the additional TuneD profiles targeted to real-time.
  3. Optional: The tuna package contains a tool that helps tune the real-time kernel workload. It automates CPU isolation and thread affinity operations from the command line or the GUI. This package is available in the base RHEL 10 repository.

    # dnf install tuna
    Note

    When the RHEL for Real Time kernel is installed, it automatically becomes the default kernel. The system uses this kernel on the next boot. You can also configure other existing kernels variants, such as, kernel, kernel-debug, or kernel-rt-debug as the default boot kernel. For more information, see Configuring kernel-rt as the default boot kernel.

Verification

  • Check the installation location and verify that the components have been installed successfully.

    # rpm -ql realtime-setup
    /etc/security/limits.d/realtime.conf
    /etc/sysconfig/realtime-setup
    /etc/udev/rules.d/99-rhel-rt.rules
    /usr/bin/realtime-setup
    /usr/bin/rt-setup-kdump
    /usr/bin/slub_cpu_partial_off
    /usr/lib/.build-id
    /usr/lib/.build-id/a4
    /usr/lib/.build-id/a4/da77908aa4c6f048939f3267f1c552c456d117
    /usr/lib/systemd/system/rt-entsk.service
    /usr/lib/systemd/system/rt-setup.service
    /usr/sbin/kernel-is-rt
    /usr/sbin/rt-entsk

1.3. Installing RHEL for Real Time from a local repository

If your system does not have network access to Red Hat Content Delivery Network (CDN), you can install the RHEL for Real Time kernel from a local repository by using the RHEL Binary DVD ISO image as the package source. This method is suitable for disconnected or bandwidth-constrained environments.

Important

Booting from a RHEL for Real Time ISO performs a full operating system installation. To add the real-time kernel to an existing RHEL system without reinstalling, use the local repository method described in this procedure.

Prerequisites

  • The latest version of RHEL 10 is installed on a 64-bit x86 system.
  • You have downloaded the RHEL 10 Binary DVD ISO image that contains the kernel-rt packages from the Download Red Hat Enterprise Linux portal.
  • The ISO image is accessible on the local file system or removable media.

Procedure

  1. Create a mount point for the ISO image:

    # mkdir -p /mnt/rhel-iso
  2. Mount the ISO image on the mount point:

    # mount -o loop,ro /path/to/rhel-10-x86_64-dvd.iso /mnt/rhel-iso

    Replace /path/to/rhel-10-x86_64-dvd.iso with the actual path to your ISO file.

  3. Create a repository configuration file that points to the mounted ISO:

    # cat > /etc/yum.repos.d/rhel-local.repo << 'EOF' [rhel-local-baseos] name=RHEL 10 Local BaseOS baseurl=file:///mnt/rhel-iso/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel-local-appstream] name=RHEL 10 Local AppStream baseurl=file:///mnt/rhel-iso/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel-local-rt] name=RHEL 10 Local RT baseurl=file:///mnt/rhel-iso/RT enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release EOF
    Note

    The directory names within the ISO (BaseOS, AppStream, RT) depend on the specific ISO variant you downloaded. Verify the directory structure of your mounted ISO and adjust the baseurl paths accordingly.

  4. Clear the dnf cache to pick up the new repositories:

    # dnf clean all
  5. Verify that the RT repository is available:

    # dnf repolist

    The output lists rhel-local-rt among the enabled repositories.

  6. Install the RHEL for Real Time package group:

    # dnf groupinstall RT
  7. Optional: After the installation completes, unmount the ISO:

    # umount /mnt/rhel-iso

    If you plan to install additional packages from the ISO in the future, keep it mounted or add an entry to /etc/fstab to mount it persistently:

    /path/to/rhel-10-x86_64-dvd.iso  /mnt/rhel-iso  iso9660  loop,ro  0 0
  8. Reboot the system to use the real-time kernel:

    # reboot

Verification

  1. After reboot, verify that the real-time kernel is running:

    # uname -r

    The output contains rt in the kernel version string, for example 6.12.0-55.9.1.el10_0.x86_64+rt.

  2. Verify that the RT packages are installed:

    # rpm -qa | grep kernel-rt

1.4. Available RPM packages in the RHEL for Real Time repository

The RHEL for Real Time repository provides RPM packages, including the kernel-rt package, kernel test packages for real-time development and debugging, and debuginfo packages for code tracing.

The repository includes the following packages:

  • kernel-rt package, which is the RHEL for Real Time kernel package.
  • RHEL for Real Time kernel test packages, which contains test programs for the real-time kernel.
  • RHEL for Real Time debuginfo packages, which are for debugging and code tracing.
Expand
Table 1.1. Basic RHEL for Real Time kernel packages
RPM package nameDescriptionRT-specificRequired

kernel-rt

Low latency and preemption functionality

Yes

Yes

Expand
Table 1.2. RHEL for Real Time kernel test packages
RPM package nameDescriptionRT-specificRequired

kernel-rt-devel

Headers and libraries for kernel development

Yes

No

kernel-rt-debug

RHEL for Real Time kernel with debugging functions compiled in (slow)

Yes

No

kernel-rt-debug-devel

Headers and libraries for development on debug kernel

Yes

No

realtime-tests

Utilities for measuring system latencies and for proving that priority-inheritance mutex functions properly

No

No

The debuginfo packages are provided to use with the perf, trace-cmd, and crash utilities for analyzing kernel crash dumps. The debuginfo packages include symbol tables and are quite large. For this reason, the debuginfo packages are separately delivered from the other RHEL for Real Time packages. You can download the debugging packages with RHEL-RT as part of the RHEL offer.

Expand
Table 1.3. Basic RHEL for Real Time debugging packages
RPM package nameDescriptionRT-specificRequired

kernel-rt-debuginfo

Symbols for profiling and debugging use, such as perf or trace-cmd

Yes

No

kernel-rt-debug-debuginfo

Symbols for profiling and tracing

Yes

No

1.5. Post installation instructions

After you install the real-time kernel, perform system tuning with the provided tuned profiles. Configure kdump for crash dump information and verify that the Real Time kernel is the default kernel.

After installing the real-time kernel, ensure the following:

  • To achieve optimal low-latency determinism, perform RHEL for Real Time specific system tuning by using the provided tuned profiles. Use these profiles as the final tuning or as the baseline for your specific tuning requirements.
  • Review the module compatibility information for the real-time kernel and the standard kernel.
  • To enable kdump, configure RHEL for Real Time to provide crash dump information by enabling kexec/kdump.
  • Verify that the Real Time kernel is the default kernel.

1.5.1. Module compatibility of the real-time kernel and the standard kernel

Kernel modules are inherently specific to the kernel they are built for. RHEL for Real Time and RHEL share a common code base. However, RHEL for Real Time has the real-time features and capabilities enabled. As a consequence, modules must be rebuilt to be used with RHEL for Real Time.

If you must use a third-party module, recompile it with the RHEL for Real Time header files. These files are available in the RHEL for Real Time development and test packages.

The following third-party drivers for standard Red Hat Enterprise Linux 10 do not currently have a RHEL for Real Time build:

  • EMC Powerpath
  • NVIDIA graphics
  • Advanced storage adapter configuration utilities from Qlogic

User-space tools built for Red Hat Enterprise Linux 10 for the stock kernel are fully compatible with RHEL for Real Time. Some applications might not fully benefit from real-time optimizations due to their design. These applications might behave differently than expected.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동