Update the Chinese translation of .../admin-guide/mm/damon/start.rst. Update the translation through commit c9380cdd949d ("Docs/{admin-guide,mm}/damon: fix DAMON documentation details"). Signed-off-by: Doehyun Baek --- .../zh_CN/admin-guide/mm/damon/start.rst | 63 ++++++++++++++++--- 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/start.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/start.rst index cff7b6f98c59..1a7f3382dd15 100644 --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/start.rst +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/start.rst @@ -35,18 +35,63 @@ https://github.com/damonitor/damo找到。下面的例子假设DAMO在你的$PAT 这并不是强制性的。 因为DAMO使用了DAMON的sysfs接口(详情请参考:doc:`usage`),你应该确保 -:doc:`sysfs ` 被挂载。 +``sysfs`` 被挂载。 + + +拍摄数据访问模式快照 +==================== + +下面的命令展示程序在执行时刻的内存访问模式。:: + + $ git clone https://github.com/sjp38/masim; cd masim; make + $ sudo damo start "./masim ./configs/stairs.cfg --quiet" + $ sudo damo report access + heatmap: 641111111000000000000000000000000000000000000000000000[...]33333333333333335557984444[...]7 + # min/max temperatures: -1,840,000,000, 370,010,000, column size: 3.925 MiB + 0 addr 86.182 TiB size 8.000 KiB access 0 % age 14.900 s + 1 addr 86.182 TiB size 8.000 KiB access 60 % age 0 ns + 2 addr 86.182 TiB size 3.422 MiB access 0 % age 4.100 s + 3 addr 86.182 TiB size 2.004 MiB access 95 % age 2.200 s + 4 addr 86.182 TiB size 29.688 MiB access 0 % age 14.100 s + 5 addr 86.182 TiB size 29.516 MiB access 0 % age 16.700 s + 6 addr 86.182 TiB size 29.633 MiB access 0 % age 17.900 s + 7 addr 86.182 TiB size 117.652 MiB access 0 % age 18.400 s + 8 addr 126.990 TiB size 62.332 MiB access 0 % age 9.500 s + 9 addr 126.990 TiB size 13.980 MiB access 0 % age 5.200 s + 10 addr 126.990 TiB size 9.539 MiB access 100 % age 3.700 s + 11 addr 126.990 TiB size 16.098 MiB access 0 % age 6.400 s + 12 addr 127.987 TiB size 132.000 KiB access 0 % age 2.900 s + total size: 314.008 MiB + $ sudo damo stop + +上面示例的第一条命令下载并构建一个名为 ``masim`` 的人工内存访问 +生成程序。第二条命令要求 DAMO 用给定命令启动该程序,并让 DAMON +监测新启动的进程。第三条命令从 DAMON 取回该进程当前被监测访问 +模式的快照,并以人类可读的格式显示该模式。 + +输出的第一行以单行热图格式显示各区域的相对访问温度(热度)。热图 +中的每一列表示被监测虚拟地址空间上大小相同的区域。列在该行中的 +位置和列上的数字表示该区域的相对位置和访问温度。``[...]`` 表示 +虚拟地址空间中未映射的巨大区域。第二行显示帮助理解热图的附加信息。 + +从第三行开始,输出的每一行显示进程的哪个虚拟地址范围 +(``addr XX size XX``)被访问得有多频繁(``access XX %``),以及 +持续了多长时间(``age XX``)。例如,大小约为 9.5 MiB 的第十一个 +区域在最近 3.7 秒内被访问得最频繁。最后,第四条命令停止 DAMON。 + +请注意,DAMON 不仅能监测虚拟地址空间,还能监测包括物理地址空间在内 +的多种地址空间。 + 记录数据访问模式 ================ 下面的命令记录了一个程序的内存访问模式,并将监测结果保存到文件中。 :: - $ git clone https://github.com/sjp38/masim - $ cd masim; make; ./masim ./configs/zigzag.cfg & + $ ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim) -命令的前两行下载了一个人工内存访问生成器程序并在后台运行。生成器将重复地逐一访问两个 +第一行命令再次运行该人工内存访问生成器程序。生成器将重复地逐一访问两个 100 MiB大小的内存区域。你可以用你的真实工作负载来代替它。最后一行要求 ``damo`` 将 访问模式记录在 ``damon.data`` 文件中。 @@ -57,7 +102,7 @@ https://github.com/damonitor/damo找到。下面的例子假设DAMO在你的$PAT 你可以在heatmap中直观地看到这种模式,显示哪个内存区域(X轴)何时被访问(Y轴)以及访 问的频率(数字)。:: - $ sudo damo report heats --heatmap stdout + $ sudo damo report heatmap 22222222222222222222222222222222222222211111111111111111111111111111111111111100 44444444444444444444444444444444444444434444444444444444444444444444444444443200 44444444444444444444444444444444444444433444444444444444444444444444444444444200 @@ -117,8 +162,8 @@ https://github.com/damonitor/damo找到。下面的例子假设DAMO在你的$PAT 数据访问模式感知的内存管理 ========================== -以下三个命令使每一个大小>=4K的内存区域在你的工作负载中没有被访问>=60秒,就会被换掉。 :: +以下命令使每一个大小>=4K的内存区域在你的工作负载中没有被访问>=60秒,就会被换掉。 :: - $ echo "#min-size max-size min-acc max-acc min-age max-age action" > test_scheme - $ echo "4K max 0 0 60s max pageout" >> test_scheme - $ damo schemes -c test_scheme + $ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \ + --damos_age 60s max --damos_action pageout \ + --target_pid -- 2.43.0