Linux

Linux的“/proc/meminfo”文件中的HardwareCorrupted、DirectMap4k、DirectMap2M欄位是什麼意思?

  • August 19, 2020

我正在尋找以下術語的描述:

  • HardwareCorrupted, DirectMap4k, DirectMap2MLinux 的“/proc/meminfo”文件中的欄位。

我可以從“Free”、“buffer”、“swap”、“dirty”/proc/meminfo Explained中找到以下欄位的描述:

HardwareCorrupted: 最好的ECC

DirectMap*:這是 x86 特定的,基本上可用的直接映射插槽。

但這個描述是不夠的。誰能告訴我“HardwareCorrupted”、“DirectMap4k”、“DirectMap2M”的描述?

HardwareCorrupted顯示“中毒頁面”中的記憶體量,失敗的記憶體(通常由 ECC 標記)。ECC 代表“糾錯碼”。ECC記憶體能夠糾正小錯誤並檢測更大的錯誤;在具有非 ECC 記憶體的典型 PC 上,不會檢測到記憶體錯誤。如果使用 ECC(在記憶體或記憶體中,取決於系統的硬體支持)檢測到無法糾正的錯誤,則 Linux 核心將相應的頁面標記為中毒。

DirectMapx86Book3s PowerPCS/390上顯示,並指示 TLB 負載,而不是記憶體使用:它計算使用每個平台上支持的各種頁面大小映射的頁面數(對應於不同的頁表級別) :4KiB、64KiB、1MiB、2MiB、4MiB、1GiB 或 2GiB 頁面。TLB,或“翻譯備份緩衝區”",是一種記憶體,用於儲存虛擬地址(如電腦上執行的軟體所見)和記憶體中的物理頁面(如硬體所見)之間的映射;從虛擬地址到物理地址所涉及的計算和記憶體提取是昂貴的, 因此使用記憶體來避免過於頻繁地使用它們。但是 TLB 很小,因此訪問各種不同的地址(太多而無法留在記憶體中)會導致性能損失。可以通過使用更大的頁面來減少這種損失;on x86 架構的傳統頁面大小為 4KiB,但可以使用更大的頁面,它們的大小可以是 2MiB、4MiB 或 1GiB。

有關更多詳細資訊,您可以查看我包含的 Wikipedia 連結,並按照那裡的參考資料進行操作。

引用自:https://unix.stackexchange.com/questions/204286