Documentation/translations/zh_TW/admin-guide/mm/damon/lru_sort.rst

Source file repositories/reference/linux-study-clean/Documentation/translations/zh_TW/admin-guide/mm/damon/lru_sort.rst

File Facts

System
Linux kernel
Corpus path
Documentation/translations/zh_TW/admin-guide/mm/damon/lru_sort.rst
Extension
.rst
Size
8752 bytes
Lines
265
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0
.. include:: ../../../disclaimer-zh_TW.rst

:Original: Documentation/admin-guide/mm/damon/lru_sort.rst

:翻譯:

 臧雷剛 Leigang Zang <zangleigang@hisilicon.com>

:校譯:

==================
基於DAMON的LRU排序
==================

基於DAMON的LRU排序是一個靜態的內核模塊,旨在用於以主動的、輕量級的數據訪問模型
爲基礎的頁面優先級處理的LRU鏈表上,以使得LRU上的數據訪問模型更爲可信。

哪裏需要主動的LRU排序
=====================

在一個大型系統中,以頁爲粒度的訪問檢測會有比較顯著的開銷,LRU通常不會主動去排序,
而是對部分特殊事件進行部分的、響應式的排序,例如:特殊的用戶請求,系統調用或者
內存壓力。這導致,在有些場景下,LRU不能夠完美的作爲一個可信的數據訪問模型,比如
在內存壓力下對目標內存進行回收。

因爲DAMON能夠儘可能準確的識別數據訪問模型,同時只引起用戶指定範圍的開銷,主動的
執行DAMON_LRU_SORT讓LRU變得更爲可信是有益的,而且這隻需要較少和可控的開銷。

這是如何工作的
==============

DAMON_LRU_SORT使用DAMON尋找熱頁(範圍內的頁面訪問頻率高於用戶指定的閾值)和冷頁
(範圍內的頁面在超過用戶指定的時間無訪問),並提高熱頁和降低冷頁在LRU中的優先級。
爲了避免在排序過程佔用更多的CPU計算資源,可以設置一個CPU佔用時間的約束值。在約
束下,分別提升或者降低更多的熱頁和冷頁。系統管理員也可以配置三個內存水位以控制
在何種條件下自動激活或者停止這種機制。

冷熱閾值和CPU約束的默認值是比較保守的。這意味着,在默認參數下,模塊可以廣泛且無
負作用的使用在常見環境中,同時在只消耗一小部分CPU時間的情況下,給有內存壓力的系
統提供一定水平的冷熱識別。

接口:模塊參數
==============

使用此特性,你首先需要確認你的系統中運行的內核在編譯時啓用了
``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有可能不會真正去
監測或者做LRU排序。對這種情況,參考下方關於水位的描述。

commit_inputs
-------------

讓DAMON_LRU_SORT再次讀取輸入參數,除了 ``enabled`` 。

在DAMON_LRU_SORT運行時,新的輸入參數默認不會被應用。一旦這個參數被設置爲 ``Y``

Annotation

Implementation Notes