.. SPDX-License-Identifier: GPL-2.0

:Original: Documentation/mm/damon/faq.rst

:翻译:

 司延腾 Yanteng Si <siyanteng@loongson.cn>

:校译:


========
常见问题
========

为什么是一个新的子系统,而不是扩展perf或其他用户空间工具?
==========================================================

首先,因为它需要尽可能的轻量级,以便可以在线使用,所以应该避免任何不必要的开销,如内核-用户
空间的上下文切换成本。第二,DAMON的目标是被包括内核在内的其他程序所使用。因此,对特定工具
(如perf)的依赖性是不可取的。这就是DAMON在内核空间实现的两个最大的原因。


“闲置页面跟踪” 或 “perf mem” 可以替代DAMON吗?
==============================================

闲置页跟踪是物理地址空间访问检查的一个低层次的原始方法。“perf mem”也是类似的,尽管它可以
使用采样来减少开销。另一方面,DAMON是一个更高层次的框架,用于监控各种地址空间。它专注于内
存管理优化,并提供复杂的精度/开销处理机制。因此,“空闲页面跟踪” 和 “perf mem” 可以提供
DAMON输出的一个子集,但不能替代DAMON。


DAMON是否只支持虚拟内存?
=========================

不,DAMON的核心是独立于地址空间的。用户可以在DAMON核心上实现和配置特定地址空间的低级原始
部分,包括监测目标区域的构造和实际的访问检查。通过这种方式,DAMON用户可以用任何访问检查技
术来监测任何地址空间。

尽管如此,DAMON默认为虚拟内存和物理内存提供了基于vma/rmap跟踪和PTE访问位检查的地址空间
相关功能的实现,以供参考和方便使用。


我可以简单地监测页面的粒度吗?
==============================

是的,你可以通过设置 ``min_nr_regions`` 属性高于工作集大小除以页面大小的值来实现。
因为监视目标区域的大小被强制为 ``>=page size`` ,所以区域分割不会产生任何影响。