- https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/index.html
- https://www.kernel.org/doc/html/v6.6/mm/damon/index.html
admin guide
DAMON (轻量级数据访问监控)
DAMON 是一种轻量级数据访问监控工具。使用 DAMON,用户可以分析系统的内存访问模式并进行优化。
入门指南
先决条件
记录数据访问模式
可视化记录的模式
数据访问模式感知的内存管理
详细用法
sysfs 接口
debugfs 接口(已弃用!)
用于监控结果的 Tracepoint
基于 DAMON 的回收
何时需要主动回收?
工作原理
接口:模块参数
示例
基于 DAMON 的 LRU 列表排序
何时需要主动排序 LRU 列表?
工作原理
接口:模块参数
示例
MM
DAMON 是一个 Linux 内核子系统,提供了数据访问监控和基于监控结果的系统操作的框架。DAMON 的核心监控机制(详细设计请参考设计文档)具有以下特点:
- 准确性(监控输出对于 DRAM 级别的内存管理非常有用;尽管对于 CPU 缓存级别可能不够适用)
- 轻量级(监控开销低,可以在线应用)
- 可扩展性(无论目标工作负载的大小如何,开销的上限都在一个恒定范围内)
因此,使用这个框架,内核可以以一种访问感知的方式操作系统。由于这些特性也暴露给用户空间,因此对于了解其工作负载和系统并进行优化的用户来说,他们可以编写个性化的应用程序。
为了更轻松地开发这样的系统,DAMON 提供了一个名为 DAMOS(DAMon-based Operation Schemes)的功能,除了监控之外。使用这个功能,内核和用户空间的 DAMON 用户可以进行访问感知的系统操作,而无需编写代码,只需进行简单的配置。