中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Linux下如何配值HugePages。-創(chuàng)新互聯(lián)

Linux下如何配值HugePages。,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供碭山企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為碭山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。

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

基于x86_64 Linux下來(lái)描述如何配值 HugePages。

1、Hugepage的引入

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

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

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

二、hugepages相關(guān)概念

Page Table: page table也就是一種用于內(nèi)存管理的實(shí)現(xiàn)方式,用于物理地址到虛擬之間的映射。因此對(duì)于內(nèi)存的訪問(wèn),先是訪問(wèn)Page Table,然后根據(jù)Page Table 中的映射關(guān)系,隱式的轉(zhuǎn)移到物理地址來(lái)存取數(shù)據(jù)。


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


hugetlb: hugetlb 是TLB中指向HugePage的一個(gè)entry(通常大于4k或預(yù)定義頁(yè)面大小)。 HugePage 通過(guò)hugetlb entries來(lái)實(shí)現(xiàn),也可以理解為HugePage 是hugetlb page entry的一個(gè)句柄。


hugetlbfs: 一個(gè)類(lèi)似于tmpfs的新的in-memory filesystem,在2.6內(nèi)核被提出。

三、Regular Pages 與 HugePages

a、Regular Pages

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

Linux下如何配值HugePages。

b、Huge Pages

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

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

Linux下如何配值HugePages。

四、 hugepage 優(yōu)點(diǎn)

對(duì)于較大的系統(tǒng)內(nèi)存以及sga,使用hugepage可以極大程度的提高Oracle數(shù)據(jù)庫(kù)性能。

a、Not swappable

無(wú)需交換。也就是不存在頁(yè)面由于內(nèi)存空間不足而存在換入換出的問(wèn)題

b、Relief of TLB pressure

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

TLB entry可以包含更多的地址空間,cpu的尋址能力相應(yīng)的得到了增強(qiáng)。

c、Decreased page table overhead

降低page table負(fù)載,對(duì)于普通的page,每個(gè)entry需要64bytes進(jìn)行管理,對(duì)于50gb的內(nèi)存,管理這些entry,需要800mb的大小

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

d、Eliminated page table lookup overhead

消除page table查找負(fù)載

e、Faster overall memory performance

提高內(nèi)存的整體性能

關(guān)于 Linux下如何配值HugePages。問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享標(biāo)題:Linux下如何配值HugePages。-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.rwnh.cn/article2/ccihoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、商城網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
得荣县| 建宁县| 巫溪县| 离岛区| 侯马市| 烟台市| 麻江县| 全南县| 滦南县| 卓资县| 锡林郭勒盟| 陆良县| 五台县| 阿鲁科尔沁旗| 应用必备| 五指山市| 淄博市| 邢台市| 昌乐县| 修武县| 灵武市| 杂多县| 云梦县| 邵武市| 乐亭县| 鄂尔多斯市| 玉环县| 荣昌县| 巴青县| 开封市| 喜德县| 内乡县| 莱州市| 隆昌县| 佛坪县| 紫金县| 冕宁县| 徐水县| 梅州市| 湾仔区| 华容县|