Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

章 5. 記憶體

請參閱此章節,以取得有關於 RHEL 中的可用記憶體管理功能的相關資訊,並了解如何使用這些管理功能,來優化您系統上的記憶體使用率。

5.1. 巨型轉譯後備緩衝區

在記憶體管理中,有一部分是將實體記憶體的位址轉譯為虛擬記憶體位址。將實體位址對應至虛擬位置的對應關係之資料結構稱為「分頁表」。因為從分頁表讀取每個位址的對應關係會很花時間、也極耗資源,因此有份快取會儲存最常用的位址。這快取就稱為「轉譯後備緩衝區」(簡稱 TLB,Translation Lookaside Buffer)。
然而,TLB 能儲存的位址對應有限。如果要求的位址對應不在 TLB 裡面,那麼還是得讀取分頁表,以取得實體與虛擬位址的對應關係;這情況稱為「找不到 TLB」(TLB miss)。跟不太需要記憶體的應用程式比起來,需要大量記憶體的應用程式更受此情況所影響,這與這兩種應用程式對記憶體需求、及用來快取位址對應的分頁大小之相互關係有關。因為每次找不到 TLB 都牽涉到讀取分頁表,因此儘量避免這情況發生,就成為當務之急。
巨型 TLB(Huge TLB)能管理大區塊的記憶體,一次將更多位址對應放進快取中。這會降低找不到 TLB 的情況發生,進而改善需要大量記憶體的應用程式之效能。
關於配置巨型 TLB 的資訊,可以在 kernel 的文件中找到:/usr/share/doc/kernel-doc-version/Documentation/vm/hugetlbpage.txt