自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 内核日志限速功能分析

在[begin, begin+interval]时间内,并且打印消息次数没超过burst,则函数返回1,表示允许打印消息,否则对missed计数,在[begin, begin+interval]之外,并且missed有计数的情况下,才打印一次消息被抑制信息,然后重新设置下一个时间段的[begin, begin+interval]进行限速。上面代码表示如果__ratelimit(&oom_rs)返回非0,允许dump_header打印日志,返回0不允许打印,日志被限速了。

2025-06-25 12:39:43 260

原创 内核对申请虚拟内存的处理策略overcommit

0: heuristic overcommit (this is the default) 默认值,只检测申请的内存页是否超过物理内存页和交换页之和,没超过则允许。避免每次统计提交申请内存页数都增加到全局fbc->count,只有当前cpu上统计达到batch之后才增加到fbc->count,提高性能。vm_commit_limit函数计算策略值为OVERCOMMIT_NEVER(2)的时候,初始允许申请的内存上限。vm_acct_memory用来累加申请的虚拟内存页数。

2025-06-19 16:26:14 166

原创 SystemV 消息队列收发流程分析

发送和接收函数都在ipc/msg.c文件中for循环中的主要处理逻辑是通过msg_fits_inqueue判断是否加入新消息会导致消息队列满1:消息队列未满,则跳出for循环,继续发送流程处理;

2024-10-16 17:37:14 355

原创 【openEuler上使用qemu调试linux内核】

打开DEBUG_INFO,会编译出带调试信息的vmlinux,后续用gdb vmlinux调试。没有命令的话通过 yum install qemu-system-x86_64 -y 安装。这三个模块编译进内核能让内核在启动时识别到我们制作的rootfs.img系统盘为sda。设置BLK_DEV_SD=y 将sd_mod.ko模块编译进内核。设置ATA_PIIX=y 将ata_piix.ko编译进内核。-S #在启动时冻结cpu,类似于启动时打了一个断点。设置ATA=y 将libata.ko编译进内核。

2024-07-14 12:40:01 1840 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除