大家编译一个x86的Linux内核需要多长时间?

编译时添加-jXX参数就是你的CPU核心数+1。
可以加快你的编译速度。
在我的笔记本T5450上编译花了10分钟。
我的核心适合机器。
一个没有裁剪的功能齐全的内核似乎需要30分钟。

linux内核调试(九)内核内存检测机制介绍

Linux内核提供了各种用于检测内存问题的工具,包括slub_debug、KASAN(KernelAddressSanitizer)、kfence和kmemleak。
这些机制主要解决存储越界、释放后访问、重复释放等问题,有助于定位和防止存储错误。

1.slub_debug

slub_debug通过添加slub_debug=UFPZ等内核选项来监控内存卡属性以及健康检查和调试功能来检测内存问题。
它通过红区和内存中毒来检测越界和释放后访问,但仅限于内存板并且需要手动检测。

2.KASAN

KASAN是一款全面的内存检测工具,可以在编译过程中实时检测内存问题。
虽然功能强大,但会牺牲性能,一般在开发阶段或测试阶段使用。

3.kfence

kfence是一个存储检测工具,可以监控存储开销并监控存储访问。
适用于生产环境,但检测粒度为页面大小,可能会出现误报。

4.kmemleak

kmemleak是专门为检测内存泄漏而设计的。
但好消息是这不是一个好主意。