kmem_flags 内核变量用于启用内核的内存分配器中的调试功能。将 kmem_flags 设置为 0xf 即启用分配器的调试功能。这些功能包括运行时检查,以找出以下代码条件:
释放缓冲区后向缓冲区写入
初始化内存之前使用内存
写入时已过缓冲区结尾
《Solaris 模块调试器指南》介绍了如何使用内核内存分配器来分析此类问题。
在将 kmem_flags 设置为 0xf 的情况下进行测试和开发有助于检测潜在的内存损坏错误。由于将 kmem_flags 设置为 0xf 会更改内核内存分配器的内部行为,因此最好应不使用 kmem_flags 而执行全面测试。