(2023.7.18 RT进程引起系统卡死)

Skyge / 2023-07-18 / 原文

// 通过设置/proc/sys/kernel/sched_rt_runtime_us 和/proc/sys/kernel/sched_rt_period_us配合实现;sched_rt_period_us默认值是1s(1000000us),sched_rt_runtime_us默认是0.95s(950000us);通过此项配置的RT进程利用率,是针对整个CPU的,对于多核处理器,每个CPU仍然可以跑到100%,那么怎么让每cpu的利用率都是95%呢?可以设置

echo NO_RT_RUNTIME_SHARE > /sys/kernel/debug/sched_features;这样每个核不去借用别的cpu时间,可以达到95%的限制

// kernel/sched/features.h

SCHED_FEAT(RT_RUNTIME_SHARE,faulse)

//记录top到指定文件,cat -n top.log 查看

top -b -d 1 | grep ^top -A 10 > top.log

 

//3.3.3 内核态调测工具:kdump&crash——crash解析 - 知乎 (zhihu.com)

分析dump文件需要内核vmlinux,安装对应内核的dbgsym包

cuibixuan@cuibixuan-virtual-machine:~$ uname -r
5.0.0-27-generic
cuibixuan@cuibixuan-virtual-machine:~$ sudo apt-cache search linux-image |grep dbgsym |grep 5.0.0-27-generic
linux-image-unsigned-5.0.0-27-generic-dbgsym - Linux kernel debug image for version 5.0.0 on 64 bit x86 SMP
linux-image-5.0.0-27-generic-dbgsym - Signed kernel image generic
cuibixuan@cuibixuan-virtual-machine:~$ sudo apt-get install linux-image-5.0.0-27-generic-dbgsym

crash /usr/lib/debug/lib/modules/[内核版本]/vmlinux dump.202001301611

 

//