版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、CPU訪問內(nèi)存方式簡介1 介紹1) 首先,本文將對3種體系結(jié)構(gòu)的內(nèi)存訪問方式進(jìn)行介紹,分別為:a) 對稱多處理器結(jié)構(gòu) (SMP:Symmetric Multi-Processor) b) 海量并行處理結(jié)構(gòu) (MPP:Massive Parallel Processing)c) 非一致存儲訪問結(jié)構(gòu) (NUMA:Non-Uniform Memory Access)2) 然后,通過3種不同體系結(jié)構(gòu)的內(nèi)存訪問實現(xiàn)原理,來對比它們在性能、擴(kuò)展以及應(yīng)用方面的優(yōu)缺點。3) 最后,對NUMA結(jié)構(gòu)的內(nèi)存分配策略以及如何使用numactl工具優(yōu)化程序進(jìn)行介紹。在詳細(xì)介紹不同體系架構(gòu)的內(nèi)存訪問方式之前,先對CPU的
2、相關(guān)概念、各種總線技術(shù)以及內(nèi)存帶寬等概念進(jìn)行介紹。2 技術(shù)背景2.1 CPU相關(guān)概念1) 主頻(CPU Clock Speed):CPU工作的時鐘頻率(1秒內(nèi)發(fā)生的同步脈沖數(shù)),其速度由外頻乘以倍頻決定。2) 外頻:系統(tǒng)總線的工作頻率(系統(tǒng)時鐘頻率),是CPU與周邊設(shè)備傳輸數(shù)據(jù)的頻率。具體是指CPU到芯片組之間的總線速度(如CPU與主板之間同步運行的速度)。3) 倍頻:主頻與外頻之比的倍數(shù)(主頻=外頻×倍頻),理論上從1.5到無限大,以0.5為一個間隔單位進(jìn)行增加。注:CPU的性能并不是完全由主頻決定,是由主頻、管線架構(gòu)或長度、功能單元數(shù)目、緩存設(shè)計四個方面共同決定,通常將后面三個要
3、素統(tǒng)稱為CPU架構(gòu)。2.2 FSB(Front Side Bus)在Nehalem微架構(gòu)之前,Intel 的CPU和北橋芯片之間的通信都一直使用FSB,其體系架構(gòu)如下所示:說明:1) 由于Intel使用了“四倍傳輸”技術(shù),可以使系統(tǒng)總線在一個時鐘周期內(nèi)傳送4次數(shù)據(jù),也就是傳輸效率是原來的4倍。如:在外頻為N時,F(xiàn)SB的速度增加4倍變成了4N。2) FSB的速度指的是CPU和北橋芯片間總線的速度,更實質(zhì)性的表示CPU和外界數(shù)據(jù)傳輸?shù)乃俣取?) 外頻的概念是建立在數(shù)字脈沖信號震蕩的基礎(chǔ)上的,它更多的影響了其他總線的頻率(如PCI總線與SATA總線)。如:主板可以通過“二分頻”技術(shù)將外頻降一半,使得
4、PCI設(shè)備保持在標(biāo)準(zhǔn)工作頻率。優(yōu)點:整體成本低。缺點:由于只采用一條FSB總線,多處理器訪問內(nèi)存時會對FSB總線進(jìn)行搶占,使得多處理器系統(tǒng)間互聯(lián)和可擴(kuò)展性差。2.3 QPI(Quick Path Interconnect)Intel在Nehalem微架構(gòu)的CPU中首次集成了內(nèi)存控制器(IMC,Integrated Memory Controller)和引入了QPI連接方式,這樣CPU和北橋芯片之間的通信使用QPI取代了前端總線,其體系架構(gòu)如下所示:說明:1) Nehalem微架構(gòu)的CPU被設(shè)計為核心(Core)與非核心(UnCore)兩部分。CPU的執(zhí)行流水線、L1、L2 Cache都集成在核
5、心中,而L3 Cache、IMC、QPI以及功耗與時鐘控制單元都被集成在非核心中。2) QPI是在CPU中集成內(nèi)存控制器的體系架構(gòu),主要用于多CPU間互聯(lián)以及CPU與芯片組間互聯(lián)的通信,使用QPI后CPU可直接通過內(nèi)存控制器訪問內(nèi)存資源,而不是以前繁雜的“前端總線北橋內(nèi)存控制器”模式。3) 由于QPI應(yīng)用于多CPU間互聯(lián)以及CPU與芯片組間互聯(lián),因此可以靈活的修改CPU中集成的QPI數(shù)量。如:在針對雙路CPU的系統(tǒng)中,將集成兩組QPI。4) 需要注意的是:QPI并非一種I/O接口, CPU仍然采用PCI-Express來處理I/O通訊問題。優(yōu)點:CPU集成內(nèi)存控制器,由于CPU和內(nèi)存之間的數(shù)據(jù)
6、傳輸不再需要經(jīng)過北橋芯片,因此可以縮短CPU與內(nèi)存之間的數(shù)據(jù)交換周期。缺點:由于內(nèi)存控制器是集成在CPU內(nèi)部,因此內(nèi)存的工作頻率與CPU相同,而且不能進(jìn)行頻率異步設(shè)置,這樣的話在CPU超頻的時候會導(dǎo)致內(nèi)存的頻率同CPU的外頻一起升高,一旦超過內(nèi)存的承受能力,就會導(dǎo)致內(nèi)存無法工作,這會大大限制CPU的超頻能力。針對使用QPI的體系架構(gòu),對如下幾個時鐘概念進(jìn)行介紹:1) Base Clock(BCLK):也叫Bus Clock,即外頻。2) Core Clock:即主頻,Core Clock= Base Clock * 倍頻。3) UnCore Clock(UCLK):由BCLK乘以UnCore倍
7、頻得到。UCLK既不是內(nèi)存頻率也不是QPI頻率,UCLK不能低于內(nèi)存頻率的4倍,這也就是其內(nèi)存規(guī)格限制所在。4) QPI Clock:由BCLK乘以QPI倍頻得到。由于內(nèi)存控制器的集成,它的頻率大大超出了需要,所以在超頻時如果會碰到瓶頸,直接降低它的倍頻即可。(在BIOS里設(shè)置)5) Memory Clock:由BCLK乘以內(nèi)存倍頻得到,內(nèi)存性能直接受此頻率影響。2.4 內(nèi)存帶寬數(shù)據(jù)傳輸最大帶寬取決于所有同時傳輸數(shù)據(jù)的帶寬和傳輸頻率,公式如下所示:數(shù)據(jù)帶寬=頻率 * 數(shù)據(jù)位寬 / 8。使用FSB時:1) 由于內(nèi)存與CPU進(jìn)行通信需要通過FSB,因此內(nèi)存帶寬會受到內(nèi)存頻率與FSB頻率的共同影響。
8、2) 在內(nèi)存采用多通道情況下,內(nèi)存帶寬往往會因為FSB頻率而受限。如:外頻為200HZ,F(xiàn)SB頻率為800HZ,那么當(dāng)內(nèi)存為DDR2-800(表示工作頻率為400MHZ,等效工作頻率為1600MHZ,采用雙通道),F(xiàn)SB頻率就成了內(nèi)存帶寬的瓶頸。此時,內(nèi)存帶寬并不是12.5GB/s而僅為6.25GB/s (800MHZ * 64bit / 8 )。使用QPI時:1) QPI是一種基于包傳輸?shù)拇惺礁咚冱c對點連接協(xié)議,采用差分信號與專門的時鐘進(jìn)行傳輸。在延遲方面,QPI與FSB幾乎相同,卻可以提升更高的訪問帶寬。2) 一組QPI具有20條數(shù)據(jù)傳輸線,以及發(fā)送(TX)和接收方(RX)的時鐘信號。在
9、每次傳輸?shù)?0bit數(shù)據(jù)中,有16bit是真實有效的數(shù)據(jù),其余四位用于循環(huán)冗余校驗,以提高系統(tǒng)的可靠性。3) QPI頻率以GT/s(QPI Data Rate),明確地表明了QPI總線實際的數(shù)據(jù)傳輸速率而不是時鐘頻率。(每個時鐘周期上下沿各傳輸一次數(shù)據(jù),實際的數(shù)據(jù)傳輸速率兩倍于QPI總線時鐘速率,如:QPI Data Rate為6.4GT/s,那么它的QPI頻率是3200MHZ)4) 由于每個QPI總線是雙向的,在發(fā)送的同時也可以接收另一端傳輸來的數(shù)據(jù),因此一組QPI帶寬為:25.6GB/s(6.4GT/s * 16bit * 2 / 8,每秒傳輸次數(shù) * 有效數(shù)據(jù)位)。5) Nehalem微
10、架構(gòu)CPU中的內(nèi)存控制器具有三個通道,支持三通道DDR3 1333內(nèi)存,對于三條通道全部啟用的情況下,內(nèi)存帶寬將高達(dá)32GB/s(1333*3*64bit/8=32GB/s)。6) 在Intel高端的安騰處理器系統(tǒng)中,QPI高速互聯(lián)方式使得CPU與CPU之間的峰值帶寬可達(dá)96GB/s,峰值內(nèi)存帶寬可達(dá)34GB/s。3 體系結(jié)構(gòu)原理3.1 SMP(Symmetric Multi-Processor)SMP體系結(jié)構(gòu)如下所示:說明:1) SMP系統(tǒng)最大的特點就是所有CPU共享全部資源(如,系統(tǒng)總線、內(nèi)存和I/O系統(tǒng))。2) SMP中的多個CPU之間沒有區(qū)別,每個CPU 訪問內(nèi)存中的任何地址所需時間是
11、相同的。3) 由于在SMP系統(tǒng)中所有CPU都共享系統(tǒng)總線,因此當(dāng)CPU的數(shù)目增多時,系統(tǒng)總線的競爭沖突迅速加大,系統(tǒng)總線成為了性能瓶頸,可擴(kuò)展性受到很大限制。實驗證明, SMP 服務(wù)器 CPU 利用率最好的情況是2至4個CPU。4) 在SMP系統(tǒng)擴(kuò)展中,性能瓶頸除了系統(tǒng)總線外,搶占內(nèi)存以及內(nèi)存同步也是難點。a) 搶占內(nèi)存是指:當(dāng)多個CPU共同訪問內(nèi)存中的數(shù)據(jù)時,它們并不能同時去讀寫數(shù)據(jù)。b) 內(nèi)存同步是指:各CPU通過Cache訪問內(nèi)存數(shù)據(jù)時,要求系統(tǒng)必須經(jīng)常保持內(nèi)存中的數(shù)據(jù)與 Cache中的數(shù)據(jù)一致,若Cache的內(nèi)容更新了,內(nèi)存中的內(nèi)容也應(yīng)該相應(yīng)更新,否則就會影響系統(tǒng)數(shù)據(jù)的一致性。3.2
12、MPP(Massive Parallel Processing)MPP體系結(jié)構(gòu)如下所示:說明:1) MPP系統(tǒng)由多個SMP服務(wù)器通過一定的節(jié)點互聯(lián)網(wǎng)絡(luò)進(jìn)行連接,協(xié)同工作完成任務(wù),從用戶的角度來看是一個服務(wù)器系統(tǒng)。2) 在 MPP 系統(tǒng)中,每個SMP節(jié)點可以運行自己的操作系統(tǒng)、數(shù)據(jù)庫等。3) MPP系統(tǒng)的基本特征是每個SMP節(jié)點只能訪問自己的本地資源(如,內(nèi)存、存儲),是一種完全無共享結(jié)構(gòu)。SMP節(jié)點之間的信息交互是通過節(jié)點互聯(lián)網(wǎng)絡(luò)實現(xiàn)的,這個過程一般稱為數(shù)據(jù)重分配(Data Redistribution) 。 4) 由于MPP的完全無共享結(jié)構(gòu),其擴(kuò)展能力理論上無限制。目前的技術(shù)可實現(xiàn)512個節(jié)
13、點互聯(lián)數(shù)千個CPU。目前業(yè)界對節(jié)點互聯(lián)網(wǎng)絡(luò)暫無標(biāo)準(zhǔn),不同公司采用了不同的內(nèi)部實現(xiàn)機(jī)制(如,IBM采用了SP_Switch機(jī)制)。5) 在MPP系統(tǒng)中,由于各SMP節(jié)點之間的通信需要通過節(jié)點互聯(lián)網(wǎng)絡(luò)實現(xiàn),因此需要一種復(fù)雜的機(jī)制來調(diào)度和平衡各個節(jié)點的負(fù)載和并行處理過程。3.3 NUMA(Non-Uniform Memory Access)NUMA體系結(jié)構(gòu)如下所示:說明:1) NUMA結(jié)構(gòu)綜合了SMP結(jié)構(gòu)和MPP結(jié)構(gòu)的特點:邏輯上整個系統(tǒng)也是分為多個節(jié)點,但每個節(jié)點可以訪問本地內(nèi)存資源,也可以訪問遠(yuǎn)程內(nèi)存資源。2) NUMA結(jié)構(gòu)的每個CPU都可以訪問整個系統(tǒng)的內(nèi)存,但訪問本地內(nèi)存資源遠(yuǎn)遠(yuǎn)快于遠(yuǎn)程內(nèi)存
14、資源。因此,為了更好地發(fā)揮系統(tǒng)性能,開發(fā)應(yīng)用程序時需要盡量減少CPU跨節(jié)點訪問內(nèi)存。3) 利用 NUMA 技術(shù),可以較好地解決原來SMP系統(tǒng)的擴(kuò)展問題,在一個物理服務(wù)器內(nèi)可以支持上百個CPU,但由于訪問遠(yuǎn)地內(nèi)存的延時遠(yuǎn)遠(yuǎn)超過本地內(nèi)存,因此當(dāng)CPU數(shù)量增加時,系統(tǒng)性能無法線性增加。4) NUMA最大的特點是引入了node和distance的概念。a) node:資源組,每個資源組內(nèi)的CPU和內(nèi)存是幾乎相等。b) distance:用來定義各個node之間調(diào)用資源的開銷,為資源調(diào)度優(yōu)化算法提供支持。5) 節(jié)點訪問遠(yuǎn)程內(nèi)存的過程如下:(CPU0訪問MEM1為例)a) CPU0通過QPI先向CPU1發(fā)
15、起訪問請求b) CPU1的內(nèi)置內(nèi)存控制器發(fā)起MEM1訪問,MEM1的數(shù)據(jù)返回到CPU1的三級緩存中c) CPU1再通過QPI將數(shù)據(jù)返回給CPU0由于QPI延遲不高,內(nèi)置的內(nèi)存控制器延遲也很小,因此即便對遠(yuǎn)程內(nèi)存訪問,整體的訪問延遲仍然會保持在一個較好的水平。4 體系結(jié)構(gòu)對比4.1 性能對比1) SMPSMP系統(tǒng)內(nèi)的所有CPU共享系統(tǒng)總線。因此,在CPU增加時總線競爭沖突迅速加大,性能無法線性增加。2) MPPMPP系統(tǒng)是由多個SMP系統(tǒng)通過節(jié)點互聯(lián)機(jī)制實現(xiàn)的,每個節(jié)點只訪問本地內(nèi)存和存儲,節(jié)點之間的信息交互與節(jié)點本身的處理是并行進(jìn)行的。因此,MPP系統(tǒng)在增加節(jié)點時性能基本上可以實現(xiàn)線性增加。3
16、) NUMANUMA系統(tǒng)內(nèi)的各節(jié)點通過互聯(lián)機(jī)制連接,當(dāng)某個節(jié)點需要訪問遠(yuǎn)程內(nèi)存時,需要等待。因此,NUMA系統(tǒng)在增加節(jié)點時性能無法線性增加。4.2 擴(kuò)展對比1) SMPSMP擴(kuò)展能力很差,目前2個到4個CPU的利用率最好。但是IBM的BOOK技術(shù),能夠?qū)PU擴(kuò)展到8個。 2) MPPMPP理論上可以實現(xiàn)無限擴(kuò)展,目前技術(shù)比較成熟的能夠支持512個節(jié)點,數(shù)千個CPU進(jìn)行擴(kuò)展。 3) NUMANUMA理論上可以無限擴(kuò)展,目前技術(shù)比較成熟的能夠支持上百個CPU進(jìn)行擴(kuò)展。4.3 應(yīng)用對比a) SMP在聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP,On-Line Transaction Processing OTLP)
17、中,如果用戶訪問一個中心數(shù)據(jù)庫,那么采用SMP系統(tǒng)結(jié)構(gòu)的效率要比采用MPP結(jié)構(gòu)要好。 b) MPP由于MPP系統(tǒng)不共享資源,相對而言,資源要比SMP多。當(dāng)需要處理的事務(wù)達(dá)到一定規(guī)模時,MPP的效率要比SMP好。由于MPP系統(tǒng)要在不同處理單元之間傳送信息,在通訊時間少的時候,那么MPP系統(tǒng)可以充分發(fā)揮資源的優(yōu)勢,達(dá)到高效率。c) NUMA從NUMA系統(tǒng)內(nèi)部集成了多個CPU,使系統(tǒng)具有較高的事務(wù)處理能力。由于遠(yuǎn)地內(nèi)存訪問時延遠(yuǎn)長于本地內(nèi)存訪問,因此需要盡量減少不同CPU模塊之間的數(shù)據(jù)交互。 5 NUMA策略及應(yīng)用5.1 NUMA策略NUMA策略可以基于CPU和內(nèi)存設(shè)定,如下所示:1) CPU分配策
18、略:序號策略說明1cpunodebind規(guī)定進(jìn)程運行在某個或某幾個node上2physcpubind規(guī)定進(jìn)程運行在某個或某幾個core上2) 內(nèi)存分配策略:序號策略說明1localalloc(默認(rèn)模式)總是在本地節(jié)點分配,失敗則在其它節(jié)點上分配2preferred在指定節(jié)點上分配,失敗則在其它節(jié)點上分配3membind指定的節(jié)點上分配,失敗也不能從其它節(jié)點上分配4interleave在所有節(jié)點或者指定的節(jié)點上交織分配注:每個進(jìn)程(或線程)都會從父進(jìn)程繼承NUMA策略,并分配有一個優(yōu)先node。NUMA結(jié)構(gòu)下的系統(tǒng)會提供兩個工具:numastat與numactl。接下來,分別對其詳細(xì)介紹:1)
19、numastatnumastat用于顯示每個numa節(jié)點的內(nèi)存統(tǒng)計信息,如下所示:rootlocalhost # numastat node0 node1numa_hit 215856030 218396123numa_miss 1438 24043numa_foreign 24043 1438interleave_hit 35970 36105local_node 215851724 218301862other_node 574 118304對numastat命令輸出的各個參數(shù)進(jìn)行如下說明:序號參數(shù)說明1numa_hit內(nèi)存原計劃分配在該node上,最終成功分配在該node上2numa_m
20、iss內(nèi)存原計劃分配在別的node上,最終卻被分配在該node上3numa_foreign內(nèi)存原計劃分配在該node上,最終卻被分配在別的node上4interleave_hit內(nèi)存原計劃交織分配在某node上,最終內(nèi)存成功分配在某node上5local_node內(nèi)存分配在該node上,程序運行在該node上(這里指CPU)6other_node內(nèi)存分配在node上,程序運行在別的node上(這里指CPU)需要特別注意的是:如果綁定一個進(jìn)程在node0上運行,內(nèi)存在node1分配(如:numactl N 0 m 1 ./a.out),并不會產(chǎn)生numa_miss。因為numa_miss并不是指
21、運行的CPU和分配的內(nèi)存不在一個node上就產(chǎn)生numa_miss,而是指原計劃分配的內(nèi)存與最終分配的內(nèi)存不在同一個node上時產(chǎn)生的。2) numactlnumactl用于查看與控制進(jìn)程的CPU和內(nèi)存分配策略,如下所示:序號參數(shù)說明1numactl -s顯示NUMA當(dāng)前的策略2numactl -H顯示每個numa節(jié)點的詳細(xì)信息3numactl C cpus設(shè)置進(jìn)程的CPU分配策略(cpunodebind策略)4numactl N nodes設(shè)置進(jìn)程的node分配策略(physcpubind策略)5numactl l設(shè)置進(jìn)程的內(nèi)存分配策略(localalloc策略)6numactl prefe
22、rred=nodes設(shè)置進(jìn)程的內(nèi)存分配策略(preferred策略)7numactl m nodes設(shè)置進(jìn)程的內(nèi)存分配策略(membind策略)8numactl -i nodes設(shè)置進(jìn)程的內(nèi)存分配策略(interleave策略)5.2 NUMA應(yīng)用通過一個實例來說明NUMA的應(yīng)用,該實例有兩個程序組成:(詳見附錄)序號程序說明1test1實現(xiàn)的功能是向操作系統(tǒng)申請14GB內(nèi)存,然后進(jìn)行sleep。2test2實現(xiàn)的功能是向操作系統(tǒng)申請2GB內(nèi)存,然后訪問內(nèi)存進(jìn)行寫操作。注:測定的操作系統(tǒng)一個node上只有16GB內(nèi)存,故Case設(shè)計成14GB+2GB。程序的執(zhí)行通過一個腳本start_run.
23、sh來控制,流程如下所示:1) 后臺啟動一個sar進(jìn)程采集CPU信息2) 后臺啟動test1進(jìn)程(使用numactl綁定CPU和內(nèi)存到node0上)3) 后臺啟動test2進(jìn)程4) 循環(huán)采集10次numastat信息5) 等待test2進(jìn)程測定結(jié)束,殺掉sar進(jìn)程和test1進(jìn)程,程序運行結(jié)束。為了體現(xiàn)NUMA的應(yīng)用,對程序test2分兩種情況來運行:1) 不綁定采集的numa_miss信息如下:numa_miss數(shù)程序運行前程序運行后30,91743,858采集的numa內(nèi)存分配信息如下:(某一時刻)rootlocalhost testdir# cat numastat.log | less
24、Per-node process memory usage (in MBs) for PID 9489 (test2) Node 0 Node 1 Total -Huge 0.00 0.00 0.00Heap 0.00 0.00 0.00Stack 0.01 0.00 0.01Private 1072.08 976.36 2048.44- - - -Total 1072.09 976.36 2048.45采集的sar信息如下:rootlocalhost testdir# sar -f sar.log -P ALL | lessAverage: all 5.25 0.00 3.34 0.00 0
25、.00 91.41Average: 0 0.00 0.00 0.06 0.00 0.00 99.94Average: 1 0.06 0.00 19.24 0.00 0.00 80.71Average: 2 62.67 0.00 19.69 0.00 0.00 17.64Average: 3 0.00 0.00 0.00 0.00 0.00 100.00Average: 4 0.06 0.00 0.06 0.00 0.00 99.88Average: 5 0.06 0.00 0.00 0.00 0.00 99.94Average: 6 0.00 0.00 0.00 0.00 0.00 100.0
26、0Average: 7 0.00 0.00 0.06 0.00 0.00 99.94Average: 8 0.00 0.00 0.00 0.00 0.00 100.00Average: 9 0.00 0.00 0.06 0.00 0.00 99.94Average: 10 0.24 0.00 0.77 0.00 0.00 99.00Average: 11 0.00 0.00 0.00 0.00 0.00 100.00說明:a) 由sar采集的信息可以看出,test2始終運行在node0上。b) 由numastat采集的信息以及NUMA的默認(rèn)策略,可知test2所需的內(nèi)存原計劃全部在node0上
27、分配,但是在node0上分配1GB的內(nèi)存后,發(fā)現(xiàn)內(nèi)存不夠了,被迫在node1上分配了1GB內(nèi)存,從而導(dǎo)致產(chǎn)生numa_miss。c) 由于程序test2跨node訪問了內(nèi)存,性能表現(xiàn)較差。2) 使用numactl綁定(numactl N 1 m 1 ./test2)采集的numa_miss信息如下:numa_miss數(shù)程序運行前程序運行后43,85843,858采集的numa內(nèi)存分配信息如下:(某一時刻)rootlocalhost testdir# cat numastat.log | lessPer-node process memory usage (in MBs) for PID 628
28、9 (test2) Node 0 Node 1 Total - - - Huge 0.00 0.00 0.00 Heap 0.00 0.00 0.00 Stack 0.00 0.01 0.01 Private 0.00 2011.52 2011.52 - - - - Total 0.00 2011.53 2011.53采集的sar信息如下:rootlocalhost testdir# sar -f sar.log -P ALL | lessAverage: all 3.90 0.00 4.18 0.00 0.00 91.92Average: 0 0.00 0.00 0.17 0.00 0.00
29、 99.83 Average: 1 0.00 0.00 0.00 0.00 0.00 100.00Average: 2 0.08 0.00 26.89 0.00 0.00 73.02Average: 3 0.08 0.00 0.00 0.00 0.00 99.92Average: 4 0.00 0.00 0.00 0.00 0.00 100.00Average: 5 0.08 0.00 0.00 0.00 0.00 99.92Average: 6 0.00 0.00 0.00 0.00 0.00 100.00Average: 7 46.63 0.00 21.90 0.00 0.00 31.47
30、Average: 8 0.00 0.00 0.00 0.00 0.00 100.00Average: 9 0.00 0.00 0.00 0.00 0.00 100.00Average: 10 0.08 0.00 1.17 0.00 0.00 98.75Average: 11 0.00 0.00 0.08 0.00 0.00 99.92說明:a) 有numastat采集的信息和sar采集的信息可以看出,由于使用numactl綁定test2在node1上運行與分配內(nèi)存,因此沒有numa_miss產(chǎn)生。b) 由于程序test2運行和訪問在都在node1,不存在跨node訪問,性能表現(xiàn)較好。需要注意的是:由于RHEL7系提供了一個新特性: AUTOMATIC NUMA BALANCING(默認(rèn)自動打開,配置文件為/proc/sys/kernel/numa_balancing),會自動遷移CPU或Memory使其在同一個node上,從而減少跨node訪問,減少numa_miss的產(chǎn)生,提供程序性能。附錄 測試代碼test1.c#include <unistd.h> #include <stdio.h> #inc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保設(shè)備出口合同3篇
- 二零二五年度廚師勞務(wù)服務(wù)及餐飲企業(yè)品牌建設(shè)合同3篇
- 2025年高校退學(xué)申請?zhí)幚砼c學(xué)業(yè)重建服務(wù)合同3篇
- 2025年度智能家居系統(tǒng)集成項目轉(zhuǎn)讓合同協(xié)議書
- 2025變更勞動合同
- 2025年度個人股東股權(quán)轉(zhuǎn)讓及網(wǎng)絡(luò)安全技術(shù)服務(wù)合同4篇
- 2025年度個人私有房屋購買合同(精裝修房屋品質(zhì)檢測版)4篇
- 2025合同備案編號:監(jiān)管部門 合同備案(年份)第 流水號 號
- 2025版合同糾紛訴訟代理委托合同樣本3篇
- 2025年度航空車輛預(yù)防性保養(yǎng)及安全檢查合同協(xié)議4篇
- 七上-動點、動角問題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計
- 下運動神經(jīng)元損害綜合征疾病演示課件
- 北師大版三年級數(shù)學(xué)(上冊)看圖列式計算(完整版)
- 2023中考地理真題(含解析)
- 麻醉藥品、精神藥品月檢查記錄表
- 浙江省寧波市海曙區(qū)2022學(xué)年第一學(xué)期九年級期末測試科學(xué)試題卷(含答案和答題卡)
- 高考英語詞匯3500電子版
- 建院新聞社成立策劃書
- JJF 1101-2019環(huán)境試驗設(shè)備溫度、濕度參數(shù)校準(zhǔn)規(guī)范
評論
0/150
提交評論