Linux下如何配值HugePages。-創新互聯

Linux下如何配值HugePages。,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創新互聯是一家專業提供碭山企業網站建設,專注與網站建設、成都網站建設html5、小程序制作等業務。10年已為碭山眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

HugePages是通過使用大頁內存來取代傳統的4kb內存頁面,使得管理虛擬地址數變少,加快了從虛擬地址到物理地址的映射以及通過摒棄內存頁面的換入換出以提高內存的整體性能。尤其是對于8GB以上的內存以及較大的Oracle SGA size,建議配值并使用HugePage特性。

基于x86_64 Linux下來描述如何配值 HugePages。

1、Hugepage的引入

操作系統對于數據的存取直接從物理內存要比從磁盤讀寫數據要快的多,但是物理內存是有限的,這樣就引出了物理內存與虛擬內存的概念。虛擬內存就是為了滿足物理內存的不足而提出的策略,它是利用磁盤空間虛擬出的一塊邏輯內存,這部分磁盤空間Windows下稱之為虛擬內存,Linux下被稱為交換空間(Swap Space)。

對于這個大內存的管理(物理內存+虛擬內存),大多數操作系統采用了分段或分頁的方式進行管理。分段是粗粒度的管理方式,而分頁則是細粒度管理方式,分頁方式可以避免內存空間的浪費。相應地,也就存在內存的物理地址與虛擬地址的概念。通過前面這兩種方式,CPU必須把虛擬地址轉換程物理內存地址才能真正訪問內存。為了提高這個轉換效率,CPU會緩存最近的虛擬內存地址和物理內存地址的映射關系,并保存在一個由CPU維護的映射表中。為了盡量提高內存的訪問速度,需要在映射表中保存盡量多的映射關系。

linux的內存管理采取的是分頁存取機制,為了保證物理內存能得到充分的利用,內核會按照LRU算法在適當的時候將物理內存中不經常使用的內存頁自動交換到虛擬內存中,而將經常使用的信息保留到物理內存。通常情況下,Linux默認情況下每頁是4K,這就意味著如果物理內存很大,則映射表的條目將會非常多,會影響CPU的檢索效率。因為內存大小是固定的,為了減少映射表的條目,可采取的辦法只有增加頁的尺寸。因此Hugepage便因此而來。也就是打破傳統的小頁面的內存管理方式,使用大頁面2m,4m,16m等等。如此一來映射條目則明顯減少。如果系統有大量的物理內存(大于8G),則物理32位的操作系統還是64位的,都應該使用Hugepage。

二、hugepages相關概念

Page Table: page table也就是一種用于內存管理的實現方式,用于物理地址到虛擬之間的映射。因此對于內存的訪問,先是訪問Page Table,然后根據Page Table 中的映射關系,隱式的轉移到物理地址來存取數據。


TLB: Translation Lookaside Buffer (TLB) ,CPU中的一塊固定大小的cache,包含了部分page table的映射關系,用于快速實現虛擬地址到物理地址的轉換。


hugetlb: hugetlb 是TLB中指向HugePage的一個entry(通常大于4k或預定義頁面大小)。 HugePage 通過hugetlb entries來實現,也可以理解為HugePage 是hugetlb page entry的一個句柄。


hugetlbfs: 一個類似于tmpfs的新的in-memory filesystem,在2.6內核被提出。

三、Regular Pages 與 HugePages

a、Regular Pages

在下圖中有兩個不同的進程,兩個進程對于內存的訪問是首先訪問本地的page table,而本地的page table又參照了system-wide table的page(也就是前面描述的TLB),最終system-wide table中的entry指向了實際的物理地址。圖中物理地址page size大小4kb。也可以看到進程1和進程2在system-wide table中都指向了page2,也就是同一個物理地址。Oracle sga中共享內存的使用會出現上述情形。

Linux下如何配值HugePages。

b、Huge Pages

在下圖中,本地的page table 與system page table中都包含了huge page屬性。因此page table中的任意一個page可能使用了常規的page,

也有可能使用了huge page。同樣進程1和進程2都共享了其中的Hpage2。圖中的物理內存常規的page size是4kb,huge page size 是4mb。

Linux下如何配值HugePages。

四、 hugepage 優點

對于較大的系統內存以及sga,使用hugepage可以極大程度的提高Oracle數據庫性能。

a、Not swappable

無需交換。也就是不存在頁面由于內存空間不足而存在換入換出的問題

b、Relief of TLB pressure

減輕TLB的壓力,也就是降低了cpu cache可緩存的地址映射壓力。由于使用了huge page,相同的內存大小情況下,管理的虛擬地址數量變少。

TLB entry可以包含更多的地址空間,cpu的尋址能力相應的得到了增強。

c、Decreased page table overhead

降低page table負載,對于普通的page,每個entry需要64bytes進行管理,對于50gb的內存,管理這些entry,需要800mb的大小

(50*1024*1024)kb/4kb*64bytes/1024/1024=800mb。

d、Eliminated page table lookup overhead

消除page table查找負載

e、Faster overall memory performance

提高內存的整體性能

關于 Linux下如何配值HugePages。問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯-成都網站建設公司行業資訊頻道了解更多相關知識。

分享標題:Linux下如何配值HugePages。-創新互聯
標題URL:http://m.kartarina.com/article2/ccihoc.html

成都網站建設公司_創新互聯,為您提供軟件開發網站設計商城網站外貿網站建設企業建站電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 亚洲av无码专区在线| 亚洲中文字幕无码永久在线| 亚洲综合无码精品一区二区三区| 一道久在线无码加勒比| 亚洲AV无码久久精品成人| 国产品无码一区二区三区在线 | 精品亚洲成A人无码成A在线观看| 精品无码成人片一区二区98 | 亚洲精品97久久中文字幕无码| 嫩草影院无码av| 亚洲国产精品无码中文字| 国产在线无码制服丝袜无码| 亚洲中文久久精品无码1| 亚洲午夜无码AV毛片久久| 无码国产精品一区二区免费式直播 | 国产AV无码专区亚洲A∨毛片| 亚洲精品久久久久无码AV片软件| 亚洲中文字幕无码久久综合网| 亚洲午夜成人精品无码色欲| 亚洲精品午夜无码电影网| 免费人妻无码不卡中文字幕18禁| 日日麻批免费40分钟无码| 亚洲VA中文字幕无码一二三区 | 青青爽无码视频在线观看| 日韩人妻无码精品一专区 | 亚洲精品偷拍无码不卡av| 亚洲精品无码高潮喷水在线| 亚洲精品无码久久久久AV麻豆| 日韩av无码成人无码免费| 97久久精品无码一区二区 | 无码日韩人妻AV一区免费l| 精品国产性色无码AV网站 | 丝袜无码一区二区三区| 国产成人精品无码一区二区三区| 国产精品亚洲专区无码唯爱网| 免费无码专区毛片高潮喷水| 久久亚洲AV成人无码国产最大| 亚洲av片不卡无码久久| 亚洲人片在线观看天堂无码| 精品久久久无码21p发布| 影音先锋中文无码一区|