//配置内核生成crash文件(尽量采用rt进程去控制,因为系统卡死时,rt喂狗进程还在跑)

/ 不同的cpu的ramdump抓取方法不同:Redhat Crash Utility-Ramdump - yjbjingcha - 博客园 (cnblogs.com)

//crash工具的使用

 

// 通过设置/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

 

// https://github.com/crash-utility/crash/releases

 //crash参数解释

crash-utility.github.io/help_pages/list.html

// crash工具与ftrace工具一起使用

(9条消息) CRASH安装和调试_crash调试_内核工匠的博客-CSDN博客