.. SPDX-License-Identifier: GPL-2.0
:Original: Documentation/mm/damon/faq.rst
:翻译:
司延腾 Yanteng Si <[email protected]>
:校译:
========
常见问题
========
为什么是一个新的子系统,而不是扩展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`` ,所以区域分割不会产生任何影响。