linux 实时性能测试

🕒 2026-01-20 📁 性能工具 👤 laumy 🔥 88 热度

使能方法

在linux 6.12版本之后原生SDK就支持了PREEMPT_RT,使能方式如下:

make kernel_menuconfig
    General setup --->
        <*> Fully Preemptible Kernel (Real-Time)

或者直接搜索CONFIG_PREEMPT_RT=y

确认是否已经打开

zcat /proc/config.gz | grep CONFIG_PREEMPT_RT

测试方法

安装软件

sudo apt-get update
sudo apt-get install rt-tests stress-ng

空载测试

# -m: 锁定内存,防止交换
# -S: SMP 多核模式
# -p99: 设置最高实时优先级 99
# -i1000: 循环间隔 1000us (1ms)
# -D2m: 测试持续 2 分钟
sudo cyclictest -m -S -p99 -i1000 -D2m

压力测试

终端1

# --cpu 8: 占满 8 个核心
# --io 4: 开启 4 个 IO 读写进程(模拟磁盘/存储负载)
# --vm 4: 开启 4 个内存压力进程
# --vm-bytes 128M: 每个内存进程反复读写 128M 数据(制造 Cache 抖动)
stress-ng --cpu 8 --cpu-method all --io 4 --vm 4 --vm-bytes 128M --fork 4

终端2

# -S: SMP 模式,自动开启 8 个线程并一对一绑核
# -p99: 最高实时优先级
# -m: 锁内存
# -D1: 跑 1 小时 (建议先跑 10 分钟看看情况)
sudo cyclictest -c0 -m -S -p99 -i1000 -D1H

发表你的看法

\t