.. SPDX-License-Identifier: GPL-2.0

:Original: Documentation/vm/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`` ，所以区域分割不会产生任何影响。
