linux 内核常用的debug

Linux内核就有这么一套机制,我们仅需调用一个接口,并根据接口的返回值来决定是否持续打印我们的信息。这个接口的内部会自动帮我们判断我们即将要打印的信息是否过于频繁。

复制代码
if(printk_ratelimit())
{
    printk(KERNEL_ERR "xxx driver broken!!!\n");
}

是的,就是这么简单。这个 printk_ratelimit() 函数是定义在 <linux/printk.h>上的。

这个函数的机理是会判断我们的打印的频率的,即它会限制这条打印在指定时间间隔内最多只能出现指定次数条。

这个限制条件是可以动态修改的,它们被定义在 /proc 目录下的两个文件中:

复制代码
/proc/sys/kernel/printk_ratelimit
/proc/sys/kernel/printk_ratelimit_burst

printk_ratelimit 表示时间间隔,printk_ratelimit_burst 表示频次间隔。默认情况下 printk_ratelimit 的值是 5 ,printk_ratelimit_burst 的值是 10。即指定的打印在每5秒的时间里最多只能打印10次。我们可以随时更改这两个文件的值来控制打印频率。

相关推荐
月昤昽几秒前
KDE面板背景个性化设置技巧
linux
xixixi77777几秒前
《从心理诱导突破Claude到AI仿冒直播首张拘留单:AI安全、监管与商用的三重转折点》
大数据·网络·人工智能·安全·ai·大模型·风险
久绊A7 分钟前
Copy Fail Linux内核提权漏洞(CVE-2026-31431)
linux·运维·服务器
源远流长jerry7 分钟前
TCP 连接队列解析:从 listen () 到 connect ()
linux·服务器·网络·网络协议·tcp/ip
剑神一笑8 分钟前
Linux grep 命令深度解析:从正则表达式到性能优化
linux·运维·正则表达式
Xpower 178 分钟前
从PHM到AI Agent-如何用OpenClaw构建设备健康诊断智能体
网络·人工智能·学习·算法
苏宸啊10 分钟前
linux缓冲区的理解
linux
Bert.Cai14 分钟前
Linux bc命令详解
linux·运维·服务器
rjszcb14 分钟前
Linux.之系统性能监控脚本, CPU、内存、DDR、CMA、ISP、MPP、ION、DRM、进程
linux·服务器
2301_7807896617 分钟前
2025年服务器漏洞生存指南:从应急响应到长效免疫的实战框架
网络·安全·web安全·架构·ddos