• 须知少时凌云志·曾许人间第一流

    一个专注于设计思考与生活探索的独立博客!记录设计灵感、分享生活火花。 用设计思维解构日常之美。

    • 林渡

      之前公司组建了SSE的一个小team,主要就是各个模块的SE,专注于模块技术问题攻关,风险问题识别,需求下发等,我觉得还是蛮好的,最起码每个模块需要这样的专业人员来保证软件方案的准确性! 结果呢,一个模块来需求需要适配了(提供了参考change),leader呢不内部协调同模块的工程师去加急适配,现

    • 林渡

      模型能力越来越强,以前想做却没能力做的一些想法也慢慢自己实现了。但是我现在却发现这个时代最难的却是idea!我已经好久没有好的idea了,现在面对着codex的剩余额度,却不知道该干什么!

    • 林渡

      蟹黄汤包和河豚还得是靖江的好吃! 南通的海鲜也是鲜到眉毛了!

    • 林渡

      看了好久,还是狠心下手了小牛mt sport 2026款,以后可以下班送外卖了 - 。 -

    • 林渡

      想通了,工具是我的,能力是我的,公司只是一段时间的甲方。

    • 林渡

      太痛了😭

  • 📢 致读者的一封信:关于运营、初心与一份邀请

    林渡在博客中坦诚分享了Android稳定性与Linux内存管理等技术经验,强调知识共享与技术传承的重要性。尽管维持博客运营需承担服务器、域名、AI工具等实际成本,他坚守不设付费墙,保持全部内容免费开放,以降低技术门槛并营造纯粹交流空间。为回应读者建议,新增自愿捐赠通道与透明捐赠者名单,仅供愿意支持的朋友参与。每一份支持都将用于提升博客体验与内容质量,但无论捐赠与否,所有人都是这个温暖技术社区的重要参与者。

  • 站在2025的尾巴上:回顾、感恩与前行

    2025年,作者在人生与职业的双重转折中,聚焦于“尝试平衡”。工作上勇于转型,持续分享与协作,实现技术与心态的成长;生活中,婚姻和家庭成为新的关注重心。通过经验总结、系统学习和乐于成就他人,收获个人成长,体会到快速学习和适应变化是核心能力,并在自我反思中展望未来。

  • [linux内存管理] 第000篇 Linux内存管理系列开篇

    系列深入剖析Linux内存管理在ARM64架构下的原理与实现,覆盖物理内存初始化流程、核心分配器机制(如buddy、slab、vmalloc、CMA等)、缺页异常处理、页面回收、内存节点解析等关键环节,结合Kernel 5.15源码与丰富补充资料,帮助读者系统理解底层架构与内存管理优化要点

    • [linux内存管理] 第 059 篇 /proc/slabinfo 详解

      本文详细介绍了Linux内核SLUB内存分配器中`/proc/slabinfo`文件的内容与实现原理。文章首先说明SLUB是默认的内核对象分配器,并解释了通用缓存(如`kmalloc-*`)与专用缓存(如`dentry`)的管理框架。核心内容围绕如何利用`/proc/slabinfo`排查slab内存泄漏问题,包括结合`/proc/meminfo`、识别异常`kmem_cache`、进行时间序列采样及使用调试工具等步骤。此外,文章还分析了`/proc/slabinfo`在内核代码中的注册与`seq_file`接口实现。

      [linux内存管理] 第 059 篇 /proc/slabinfo 详解
    • [linux内存管理] 第 058 篇 从虚拟内存到 Swap —— 交换子系统整体架构

      本文阐述了Linux交换(Swap)子系统的核心作用与架构。其核心观点是:Swap的根本意义并非简单地用磁盘空间扩展内存,而是为那些本身没有持久后备存储的“匿名页”(如堆、栈数据)提供一个临时的后援存储。当物理内存紧张时,系统可以将这些匿名页换出到Swap空间,从而腾出物理内存供更急需的进程使用,这是Linux内存回收机制的关键一环。而有文件后援的“文件页”则可直接丢弃,需要时再从文件重新读入。

      [linux内存管理] 第 058 篇 从虚拟内存到 Swap —— 交换子系统整体架构
    • SyzForge:把 syzbot 报告锻造成可复现的内核 Bug 调查流水线

      SyzForge 是一个面向 Linux 内核 Bug 排查的开源多 MCP 系统。它旨在解决 syzbot 报告信息分散、调查流程断裂的痛点,将原始报告转化为结构化、可重复的工程流水线。系统由 SyzLens(证据采集)、KernelLab(构建复现)和 KernelMail(邮件工作流)三个服务组成,遵循“工具执行确定性动作,Agent 负责主观推理”的原则,以提升调查的可追溯性和效率。

      SyzForge:把 syzbot 报告锻造成可复现的内核 Bug 调查流水线
    • [linux内存管理] 第 057 篇 OOM Kill 与 panic_on_oom —— 杀人的艺术与崩溃的抉择

      本文深入解析Linux内核OOM(内存不足)处理机制的最终环节。核心内容包括:通过`oom_kill_process`函数处决选定的受害进程(victim),其流程涵盖检查进程退出状态、打印系统内存日志、处理cgroup组,并最终发送SIGKILL信号。同时,文章阐释了`panic_on_oom`参数的不同取值(0、1、2)如何决定系统在OOM时是终止进程还是触发内核崩溃,为系统管理员在稳定性与故障恢复间提供了关键的选择依据。

      [linux内存管理] 第 057 篇 OOM Kill 与 panic_on_oom —— 杀人的艺术与崩溃的抉择
    • [linux内存管理] 第 056 篇 OOM Reaper:异步解除映射的幕后英雄

      OOM Reaper是Linux内核为解决OOM kill后内存释放延迟问题而设计的异步清理机制。当进程被OOM killer选中后,可能因自身处于不可中断状态而无法及时释放内存。OOM Reaper通过独立的内核线程异步扫描并回收受害进程的页表和物理页,避免系统因等待进程退出而陷入僵局,确保内存能快速回收,有效防止了OOM场景下的系统饥饿。

      [linux内存管理] 第 056 篇 OOM Reaper:异步解除映射的幕后英雄
    • [linux内存管理] 第 055 篇 OOM Killer 死亡名单算法

      OOM Killer是Linux系统在内存耗尽时选择进程终止的机制。其核心算法oom_badness()通过三道过滤(排除init进程和内核线程、检查cpuset、排除正在终止的进程)和一个打分过程,为所有可终止进程计算“死亡分数”。分数基于进程的RSS、页面交换使用量等内存占用指标,最终选择最高分的进程作为牺牲者,以最大化释放内存并最小化系统影响。该设计体现了在极端内存压力下的平衡策略与工程智慧。

      [linux内存管理] 第 055 篇 OOM Killer 死亡名单算法
    • [linux内存管理] 第 054 篇 OOM触发 + Memory Reserve + out_of_memory 决策

      本文深入解析Linux内存管理中OOM(内存溢出)的触发机制与决策流程。文章聚焦于从内存分配失败到系统响应的关键链路,涵盖OOM触发的三条路径、作为最后防线的Memory Reserve(32页保留内存)机制,以及out_of_memory()全局入口的决策内幕。通过对核心数据结构oom_control及具体调用链的分析,揭示了内核在内存耗尽时如何从回收自救逐步走向进程查杀的全过程。

      [linux内存管理] 第 054 篇 OOM触发 + Memory Reserve + out_of_memory 决策
    • [linux内存管理] 第 053 篇 OOM 整体流程:从内存耗尽到系统崩溃的完整链路

      本文详细解析了Linux内核中OOM(内存不足)机制的完整处理流程。当系统内存耗尽且所有回收手段(如直接回收、kswapd、内存规整)均告失败后,内核会触发OOM处理。文章介绍了OOM的定位(回收失败后的最终策略)及其主要触发场景,包括全局内存不足和cgroup(memcg)内存限制等。核心在于系统必须决定是否终止进程、选择哪个进程作为牺牲者,以及在极端情况下是否触发系统恐慌。

      [linux内存管理] 第 053 篇 OOM 整体流程:从内存耗尽到系统崩溃的完整链路
    • LoreMate:给 lore.kernel.org 装上 AI 阅读助手

      LoreMate 是一款面向 lore.kernel.org 的 Chrome AI 扩展,旨在解决内核邮件列表信息庞杂、难以追踪的核心痛点。它通过提供线程智能摘要、补丁系列解析、风险点检测和一键拉取等功能,充当“阅读副驾”,帮助开发者快速理解讨论上下文、追踪补丁状态并连接本地工作流,从而显著降低参与内核开发的门槛。

      LoreMate:给 lore.kernel.org 装上 AI 阅读助手
categories

精选分类

our mind

走心评论

our time

共赴十年之约