Openwrt系统内核的一个缺陷

开源软件的缺陷

从所周知Windows系统每隔一段时间就会推送系统补丁;一些补丁出于系统的安全性考虑,而另一些补丁则是对现有系统功能的缺陷修复。同样的,开源软件的缺陷也非常多,例如笔者就遇到过linaro开源编译器生成的可执行文件运行不正确的问题——一些有很大影响力的开源软件,其可靠性在某些时候会让开发者失望。

本文简要记录了笔者在使用树莓派的openwrt系统遇到的一个内核缺陷,以及一个初步但有效的解决方法。笔者在树莓派设备上使用的系统为Openwrt,内核版本为6.1(笔者验证Openwrt系统提供的5.15版本内核也存在该问题),系统基于以下Commit的代码仓库编译构建:

commit 02214ab8dce59ee6b599f8dfdacb0297dc5dcc24
Author: Hank Moretti <mchank9999@gmail.com>
Date:   Mon Aug 28 15:45:05 2023 +0000

    mediatek: fix sysupgrade error for WR30U

    The NMBM-Enabled layout did not use fit image,
    it just need default process. So it was been removed in platform.sh.

    It will fix sysupgrade error for xiaomi,mi-router-wr30u-112m-nmbm.

    Signed-off-by: Hank Moretti <mchank9999@gmail.com>

内核缺失的OOM-Kill

简单地说,当系统的内存被应用消耗完时,内核的默认配置会触发[OOM Killer](Out Of Memory Management (kernel.org)),通常会牺牲一个占用过多内存的进程以释放内存资源维持系统的正常运行。笔者基于之前博客文章中的代码做了以下修改:

diff --git a/fork-vfork.c b/fork-vfork.c
index 77d38ce..ba13b39 100644
--- a/fork-vfork.c
+++ b/fork-vfork.c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值