cachestat,Linux 6.5 中將出現的新奇事物之一

Tux,Linux 內核的吉祥物

Linux 內核是 Linux 操作系統 (OS) 的支柱,是計算機硬件與其進程之間的基本接口。

上週 開始工作 下一個版本的內核是什麼 Linux 6.5 從那時起 一些最相關的變化已經開始宣布 它將在下一個內核版本中引入。

舉例來說,大量的改進和變化已經被整合起來,例如 並行 CPU 啟動支持 為了顯著減少內核啟動時間,AMD 的變化也提到,他們一直在努力解決掛起/恢復系統的問題,除此之外,還對系統的系統進行了改進還強調了文件、虛擬化等。

對於已宣布的更改,我們將在本文中討論其中之一,提到它已經包含在構建 Linux 6.5 內核的代碼庫中,並且已與 新的系統調用“cachestat”。

這一系列補丁引入了一個新的系統調用,cachestat,它 總結頁面緩存統計信息(緩存中的頁面數 文件中標記為重寫的頁面、已逐出的頁面等) 指定的字節範圍。 它還包括一個自測試套件,可以測試一些 典型用途。

關於緩存統計

緩存狀態 是一個新的系統調用,允許用戶態程序查詢更詳細的頁面緩存統計信息 在內核方面。 因此,它旨在擴展現有的 mincore 系統調用,該系統調用用於確定內存中是否存在頁面,cachestat 調用允許更詳細的頁面緩存統計信息並指向更大的可擴展性。

有人提到 目前頁緩存的內存通常是最大的內存消耗者 因此處理它的內核方法會對性能產生很大的影響。 因此,有一個豐富的接口可用於使用 fadvise 和同步系列來增強這些方法。

系統調用 cachestat() 發送有關存儲的頁數的信息 緩存頁、臟頁、逐出頁、最近逐出頁以及標記為重寫的頁。

提供的統計數據 對於文件 允許您就使用 I/O 做出更準確的決策 通過VFS,不僅基於抽象算法,而且還考慮到特定係統在特定時間的特徵。

目前沒有什麼好的方法來查詢大緩存頁的狀態 文件集和目錄樹。 有 mincore(),但它的擴展性很差:
內核寫入用戶空間必須寫入的大量位圖數據 當用戶並不真正關心每頁的信息時添加它
然後。 用戶還需要 mmmap 並在每個文件運行時釋放它 整個過程,這也可能相當慢。

關於p應用程序使用cachestat()的可能用例並提及以下內容:

  • DBMS 中的查詢調度程序將能夠 根據頁緩存中表索引的狀態決定是否執行索引掃描或直接從表中讀取數據。
  • 頁面緩存填充和 I/O 的粒度和負載相關處理 (例如,臟頁/標記為重寫的頁),更改同步頻率,從輕負載下的非常頻繁到突發負載期間的突發。
  • 更直觀的呈現的可能性 並方便地顯示大文件/目錄的內存使用信息,類似於“du”實用程序允許您顯示磁盤空間使用情況的方式。
  • 更輕鬆地對性能問題的延遲寫入進行故障排除和調試。

終於 如果您有興趣了解更多信息,您可以在中查看詳細信息 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。