Re: [PATCH] docs/zh_CN: add damon lru_sort translation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 29, 2023 at 06:49:48PM +0800, Yanteng Si wrote:
> 
> 在 1/20/23 09:28, Zang Leigang 写道:
> > Translate .../admin-guide/mm/damon/lru_sort.rst into Chinese.
> > 
> > Signed-off-by: Zang Leigang <zangleigang@xxxxxxxxxxxxx>
> > ---
> >   .../zh_CN/admin-guide/mm/damon/index.rst      |   1 +
> >   .../zh_CN/admin-guide/mm/damon/lru_sort.rst   | 263 ++++++++++++++++++
> >   2 files changed, 264 insertions(+)
> >   create mode 100644 Documentation/translations/zh_CN/admin-guide/mm/damon/lru_sort.rst
> > 
> > diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/index.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/index.rst
> > index 30c69e1f44fe..6f8676a50b38 100644
> > --- a/Documentation/translations/zh_CN/admin-guide/mm/damon/index.rst
> > +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/index.rst
> > @@ -22,6 +22,7 @@
> >      start
> >      usage
> >      reclaim
> > +   lru_sort
> > diff --git a/Documentation/translations/zh_CN/admin-guide/mm/damon/lru_sort.rst b/Documentation/translations/zh_CN/admin-guide/mm/damon/lru_sort.rst
> > new file mode 100644
> > index 000000000000..359984660d9d
> > --- /dev/null
> > +++ b/Documentation/translations/zh_CN/admin-guide/mm/damon/lru_sort.rst
> > @@ -0,0 +1,263 @@
> > +.. SPDX-License-Identifier: GPL-2.0
> > +.. include:: ../../../disclaimer-zh_CN.rst
> > +
> > +:Original: Documentation/admin-guide/mm/damon/lru_sort.rst
> > +
> > +:翻译:
> > +
> > + 臧雷刚 Leigang Zang <zangleigang@xxxxxxxxxxxxx>
> > +
> > +:校译:
> > +
> > +==================
> > +基于DAMON的LRU排序
> > +==================
> > +
> > +基于DAMON的LRU排序是一个静态的内核模块,旨在用于以主动的、轻量级的数据访问模型
> > +为基础的页面优先级处理的LRU链表上,以使得LRU上的数据访问模型更为可信。
> > +
> > +哪里需要主动的LRU排序
> > +=====================
> > +
> > +在一个大型系统中,以页为粒度的访问检测会有比较显著的开销,LRU通常不会主动去排序,
> > +而是对部分特殊事件进行部分的、响应式的排序,例如:特殊的用户请求,系统调用或者
> > +内存压力。这导致,在有些场景下,LRU不能够完美的作为一个可信的数据访问模型,比如
> > +在内存压力下对目标内存进行回收。
> > +
> > +因为DAMON能够尽可能准确的识别数据访问模型,同时只引起用户指定范围的开销,主动的
> > +执行DAMON_LRU_SORT让LRU变得更为可信是有帮助的,而且这只需要较少和可控的开销。
> How about 主动的执行DAMON_LRU_SORT让LRU变得更为可信是有益的?

Good.

> > +
> > +这是如何工作的
> > +==============
> > +
> > +DAMON_LRU_SORT使用DAMON寻找热页(范围内的页面访问频率高于用户指定的阈值)和冷页
> > +(范围内的页面在超过用户指定的时间无访问),并提高热页和降低冷页在LRU中的优先级。
> > +为了避免在排序过程消耗过多的CPU,可以设置一个CPU占用时间的约束值。在约束下,分
> 
> How about 消耗过多的CPU -> 占用更多的CPU计算资源?

OK.

> 
> > +别提升或者降低更多的热页和冷页。系统管理员也可以配置三个内存水线以控制在何种条
> > +件下自动激活或者停止这种机制。
> > +
> > +冷热阈值和CPU约束的默认值是比较保持的。这意味着,在默认参数下,模块可以广泛且无
> 比较保持 -> 比较保守?

Typo, will fix.

> > +负作用的使用在常见环境中,同时在只消耗一小部分CPU时间的情况下,给有内存压力的系
> > +统提供一定水平的冷热识别。
> > +
> > +接口:模块参数
> > +==============
> > +
> > +使用此特性,你首先需要确认你的系统中运行的内核在编译时带上了
> 
> 带上了 -> 启用了。

OK.

> 
> 
> > +``CONFIG_DAMON_LRU_SORT=y``.
> > +
> > +为了让系统管理员打开或者关闭并且调节指定的系统,DAMON_LRU_SORT设计了模块参数。
> > +这意味着,你可以添加 ``damon_lru_sort.<parameter>=<value>`` 到内核的启动命令行
> > +参数,或者在 ``/sys/modules/damon_lru_sort/parameters/<parameter>`` 写入正确的
> > +值。
> > +
> > +下边是每个参数的描述
> > +
> > +enabled
> > +-------
> > +
> > +打开或者关闭DAMON_LRU_SORT.
> > +
> > +你可以通过设置这个参数为 ``Y`` 来打开DAMON_LRU_SORT。设置为 ``N`` 关闭
> > +DAMON_LRU_SORT。注意,在基于水线的激活的情况下,DAMON_LRU_SORT有可能不会真正去
> 
> 水线 -> 水位?
> 
> We have a glossary now :)
> 
> see <Documentation/translations/zh_CN/glossary.rst>

Yeah, I noticed that, will fix. 

> 
> > +监测或者做LRU排序。对这种情况,参考下方关于水线的描述。
> > +
> > +commit_inputs
> > +-------------
> > +
> > +让DAMON_LRU_SORT再次读取输入参数,除了 ``enabled`` 。
> > +
> > +在DAMON_LRU_SORT运行时,新的输入参数不会默认被应用。一旦这个参数被设置为 ``Y``
> 默认不会被应用?

Ok.

> > +,DAMON_LRU_SORT会再次读取除了 ``enabled`` 之外的参数。读取完成后,这个参数会被
> > +设置为 ``N`` 。如果在读取时发现有无效参数,DAMON_LRU_SORT会被关闭。
> > +
> > +hot_thres_access_freq
> > +---------------------
> > +
> > +热点内存区域的访问频率阈值,千分比。
> 冷/热内存区?

Here, docs only emphasize hot memory's access freq. Cold memory has it's
own method by using a "how long never be used", not a freq. So is it
better to keep only hot here.

> > +
> > +如果一个内存区域的访问频率大于等于这个值,DAMON_LRU_SORT把这个区域看作热区,并
> ditto
> > +在LRU上把这个区域标记为已访问,因些在内存压力下这部分内存不会被回收。默认为50%。
> > +
> > +cold_min_age
> > +------------
> > +
> > +用于识别冷内存区域的时间阈值,微秒。
> 单位是微秒

Ok.

> > +
> > +如果一个内存区域在这个时间内未被访问过,DAMON_LRU_SORT把这个区域看作冷区,并在
> > +LRU上把这个区域标记为未访问,因此在内存压力下这些内存会首先被回收。默认值为120
> > +秒。
> > +
> > +quota_ms
> > +--------
> > +
> > +尝试LRU链表排序的时间限制,毫秒。
> ditto
Ok.
> > +
> > +DAMON_LRU_SORT在一个时间窗口内(quota_reset_interval_ms)内最多尝试这么长时间来
> > +对LRU进行排序。这个可以用来作为CPU消耗的约束。如果值为0,则表示无限制。
> In line with above.
> 
> CPU消耗的约束

Ok.

> 
> > +
> > +默认10毫秒。
> > +
> > +quota_reset_interval_ms
> > +-----------------------
> > +
> > +配额计时重置周期,毫秒。
> > +
> > +配额计时重置周期。即,在quota_reset_interval_ms毫秒内,DAMON_LRU_SORT对LRU进行
> > +排序不会超过quota_ms或者quota_sz。
> > +
> > +默认1秒。
> > +
> > +wmarks_interval
> > +---------------
> > +
> > +核查时间周期的水母,微秒。
> Wrong translation.

Will fix.

> > +
> > +当DAMON_LRU_SORT使能但是由于水线而不活跃时检查水线前最小的等待时间。默认值5秒。
> > +
> > +wmarks_high
> > +-----------
> > +
> > +空闲内存高水线,千分比。
> > +
> > +如果空闲内存水线高于这个值,DAMON_LRU_SORT停止工作,不做任何事,除了周期性的检
> > +查水线。默认200(20%)。
> > +
> > +wmarks_mid
> > +----------
> > +
> > +空闲内存中间水线,千分比。
> > +
> > +如果空闲内存水线在这个值与低水线之间,DAMON_LRU_SORT开始工作,开始检测并对LRU链
> > +表进行排序。默认150(15%)。
> > +
> > +wmarks_low
> > +----------
> > +
> > +空闲内存低水线,千分比。
> > +
> > +如果空闲内存小于这个值,DAMON_LRU_SORT不再工作,不做任何事,除了周期性的检查水
> > +线。默认50(5%)。
> > +
> > +sample_interval
> > +---------------
> > +
> > +监测的采样周期,微秒。
> > +
> > +DAMON对冷内存监测的采样周期。更多细节请参考DAMON文档 (:doc:`usage`) 。默认5
> > +毫秒。
> > +
> > +aggr_interval
> > +-------------
> > +
> > +监测的收集周期,微秒。
> > +
> > +DAMON对冷内存进行收集的时间周期。更多细节请参考DAMON文档 (:doc:`usage`) 。默认
> > +100毫秒。
> > +
> > +min_nr_regions
> > +--------------
> > +
> > +最小监测区域数量。
> > +
> > +对冷内存区域监测的最小数量。这个值可以作为监测质量的下限。不过,这个值设置的过
> > +大会增加开销。更多细节请参考DAMON文档 (:doc:`usage`) 。默认值为10。
> > +
> > +max_nr_regions
> > +--------------
> > +
> > +最大监测区域数量。
> > +
> > +对冷内存区域监测的最大数量。这个值可以作为监测质量的上限。然而,这个值设置的过
> > +低会导致监测结果变差。更多细节请参考DAMON文档 (:doc:`usage`) 。默认值为1000。
> > +
> > +monitor_region_start
> > +--------------------
> > +
> > +目标内存区域的起始物理地址。
> > +
> > +DAMON_LRU_SORT要处理的目标内存区域的起始物理地址。默认,使用系统最大内存。
> > +
> > +monitor_region_end
> > +------------------
> > +
> > +目标内存区域的结束物理地址。
> > +
> > +DAMON_LRU_SORT要处理的目标内存区域的结束物理地址。默认,使用系统最大内存。
> > +
> > +kdamond_pid
> > +-----------
> > +
> > +DAMON线程的PID。
> > +
> > +如果DAMON_LRU_SORT是使能的,这个表示任务线程的PID。其它情况为-1。
> > +
> > +nr_lru_sort_tried_hot_regions
> > +-----------------------------
> > +
> > +被尝试进行LRU排序的热内存区域的数量。
> > +
> > +bytes_lru_sort_tried_hot_regions
> > +--------------------------------
> > +
> > +被尝试进行LRU排序的热内存区域的大小(字节)。
> > +
> > +nr_lru_sorted_hot_regions
> > +-------------------------
> > +
> > +成功进行LRU排序的热内存区域的数量。
> > +
> > +bytes_lru_sorted_hot_regions
> > +----------------------------
> > +
> > +成功进行LRU排序的热内存区域的大小(字节)。
> > +
> > +nr_hot_quota_exceeds
> > +--------------------
> > +
> > +热区域时间约束超过限制的次数。
> > +
> > +nr_lru_sort_tried_cold_regions
> > +------------------------------
> > +
> > +被尝试进行LRU排序的冷内存区域的数量。
> > +
> > +bytes_lru_sort_tried_cold_regions
> > +---------------------------------
> > +
> > +被尝试进行LRU排序的冷内存区域的大小(字节)。
> > +
> > +nr_lru_sorted_cold_regions
> > +--------------------------
> > +
> > +成功进行LRU排序的冷内存区域的数量。
> > +
> > +bytes_lru_sorted_cold_regions
> > +-----------------------------
> > +
> > +成功进行LRU排序的冷内存区域的大小(字节)。
> > +
> > +nr_cold_quota_exceeds
> > +---------------------
> > +
> > +冷区域时间约束超过限制的次数。
> > +
> > +Example
> > +=======
> > +
> > +如下是一个运行时的命令示例,使DAMON_LRU_SORT查找访问频率超过50%的区域并对其进行
> > +LRU的优先级的提升,同时降低那些超过120秒无人访问的内存区域的优先级。优先级的处
> > +理被限制在最多1%的CPU以避免DAMON_LRU_SORT消费过多CPU时间。在系统空闲内存超过50%
> > +时DAMON_LRU_SORT停止工作,并在低于40%时重新开始工作。如果DAMON_RECLAIM没有取得
> > +进展且空闲内存低于20%,再次让DAMON_LRU_SORT停止工作,以此回退到以LRU链表为基础
> > +以页面为单位的内存回收上。
> > +
> > +    # cd /sys/modules/damon_lru_sort/parameters
> > +    # echo 500 > hot_thres_access_freq
> > +    # echo 120000000 > cold_min_age
> > +    # echo 10 > quota_ms
> > +    # echo 1000 > quota_reset_interval_ms
> > +    # echo 500 > wmarks_high
> > +    # echo 400 > wmarks_mid
> > +    # echo 200 > wmarks_low
> > +    # echo Y > enabled
> 
> 
> Good job!
> 
> 
> Thanks,
> 
> Yanteng
> 
> 




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux