首页 > 其他分享 >DAMON: Data Access MONitor 【ChatGPT】

DAMON: Data Access MONitor 【ChatGPT】

时间:2023-12-13 09:46:32浏览次数:36  
标签:接口 Access 访问 html 监控 DAMON ChatGPT 轻量级

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 用户可以进行访问感知的系统操作,而无需编写代码,只需进行简单的配置。

常见问题

DAMON 是否仅支持虚拟内存?

我可以简单地监视页面粒度吗?

设计

总体架构

操作集层

核心逻辑

模块

API 参考

结构

函数

DAMON 维护者入口配置文件

SCM 树

提交检查清单附录

关键周期日期

审查节奏

标签:接口,Access,访问,html,监控,DAMON,ChatGPT,轻量级
From: https://www.cnblogs.com/pengdonglin137/p/17898107.html

相关文章

  • 使用 DAMON 入门指南 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/start.html使用DAMON入门指南本文档简要描述了如何使用DAMON,并演示了其默认用户空间工具。请注意,出于简洁起见,本文档仅描述了其部分功能。更多细节,请参考工具的使用文档。先决条件内核首先,您应确保系统正在......
  • Active MM 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/active_mm.html注意,对于内核中配置为CONFIG_MMU_LAZY_TLB_REFCOUNT=n的系统,mm_count引用计数可能不再包括“懒惰”用户(即运行任务时满足条件->active_mm==mm&&->mm==NULL的用户)。必须使用mmgrab_lazy_tlb()和mmdrop_laz......
  • 软脏(soft-dirty) 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/mm/soft-dirty.html软脏(soft-dirty)是一个位于PTE(页表项)上的标志位,用于跟踪任务写入的哪些页面。为了进行这种跟踪,需要执行以下步骤:清除任务的PTE中的软脏位。这可以通过向相关任务的/proc/PID/clear_refs文件写入“......
  • hwpoison 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/hwpoison.html"hwpoison"是什么?即将推出的英特尔CPU支持从一些内存错误(MCA恢复)中恢复。这需要操作系统声明一个页面为“毒害”,终止与之关联的进程,并避免将来使用它。这个补丁包在虚拟机中实现了必要的基础设施。引用概述评论:高级......
  • 物理地址模型 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/memory-model.html物理内存模型系统中的物理内存可以以不同的方式进行寻址。最简单的情况是物理内存从地址0开始,并延伸到最大地址的连续范围。然而,这个范围可能包含对CPU不可访问的小空洞。然后可能存在完全不同地址的几个连续范围。......
  • KSM 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/ksm.htmlKernelSamepageMerging(KSM)KSM是一种节省内存的去重功能,通过CONFIG_KSM=y启用,添加到Linux内核中的2.6.32版本。有关其实现,请参阅mm/ksm.c,以及http://lwn.net/Articles/306704/和https://lwn.net/Articles/330589/。KSM的用......
  • 虚拟映射的内核栈支持 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/vmalloced-kernel-stacks.html虚拟映射的内核栈支持作者[email protected]概述这是从引入虚拟映射内核栈功能的代码和原始补丁系列中整理的信息https://lwn.net/Articles/694348/。介绍内核栈溢出通常很难调......
  • 页面迁移 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/page_migration.html#page-migration页面迁移页面迁移允许在NUMA系统中的节点之间移动页面的物理位置,同时进程正在运行。这意味着进程看到的虚拟地址不会改变。但是,系统重新排列这些页面的物理位置。另请参阅异构内存管理(HMM),用于......
  • Multi-Gen LRU 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/multigen_lru.html多代LRU多代LRU是一种替代LRU实现,它优化页面回收并在内存压力下提高性能。页面回收决定了内核的缓存策略和内存过度分配的能力。它直接影响了kswapdCPU的使用率和RAM的效率。设计概述目标设计目标包括:良好的......
  • 空闲页面报告 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/free_page_reporting.html空闲页面报告空闲页面报告是一种API,设备可以通过该API注册以接收当前系统未使用的页面列表。这在虚拟化的情况下非常有用,因为虚拟机可以利用这些数据通知hypervisor它不再使用内存中的某些页面。对于驱动程......