久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一起聊聊linux上numa架構(gòu)(圖文詳解)

      本篇文章給大家?guī)?lái)啦linux中numa架構(gòu)介紹的相關(guān)知識(shí),希望對(duì)大家有幫助。

      一起聊聊linux上numa架構(gòu)(圖文詳解)

      以下案例基于 Ubuntu 16.04,同樣適用于其他的 Linux 系統(tǒng)。我使用的案例環(huán)境如下所示:

      機(jī)器配置:32 CPU,64GB 內(nèi)存

      在NUMA中儲(chǔ)存層次的概念:

      一起聊聊linux上numa架構(gòu)(圖文詳解)

      1)處理器層:單個(gè)物理核,稱(chēng)為處理器層。2)本地節(jié)點(diǎn)層:對(duì)于某個(gè)節(jié)點(diǎn)中的所有處理器,此節(jié)點(diǎn)稱(chēng)為本地節(jié)點(diǎn)。3)home節(jié)點(diǎn)層:與本地節(jié)點(diǎn)相鄰的節(jié)點(diǎn)稱(chēng)為home節(jié)點(diǎn)。4)遠(yuǎn)程節(jié)點(diǎn)層:非本地節(jié)點(diǎn)或鄰居節(jié)點(diǎn)的節(jié)點(diǎn),稱(chēng)為遠(yuǎn)程節(jié)點(diǎn)。CPU訪(fǎng)問(wèn)不同類(lèi)型節(jié)點(diǎn)內(nèi)存的速度是不相同的,訪(fǎng)問(wèn)本地節(jié)點(diǎn)的速度最快,訪(fǎng)問(wèn)遠(yuǎn)端節(jié)點(diǎn)的速度最慢,即訪(fǎng)問(wèn)速度與節(jié)點(diǎn)的距離有關(guān),距離越遠(yuǎn)訪(fǎng)問(wèn)速度越慢,此距離稱(chēng)作Node Distance。應(yīng)用程序要盡量的減少不同CPU模塊之間的交互,如果應(yīng)用程序能有方法固定在一個(gè)CPU模塊里,那么應(yīng)用的性能將會(huì)有很大的提升。

      **以鯤鵬920處理器講一下cpu芯片的的構(gòu)成:**鯤鵬920處理器片上系統(tǒng)的每個(gè)超級(jí)內(nèi)核集群包含6個(gè)內(nèi)核集群、2個(gè)I/O集群和4個(gè)DDR控制器。每個(gè)超級(jí)內(nèi)核集群封裝成一個(gè)CPU晶片。每個(gè)晶片上集成了4個(gè)72位(64位數(shù)據(jù)加8位ECC)、數(shù)據(jù)傳輸率最高為3200MT/s的高速DDR4通道,單晶片可支持最多512GB×4的DDR存儲(chǔ)空間。L3 Cache在物理上被分為兩部分:L3 Cache TAG和L3 Cache DATA。L3 Cache TAG集成在每個(gè)內(nèi)核集群中,以降低監(jiān)聽(tīng)延遲。L3 Cache DATA則直接連接片上總線(xiàn)。Hydra根代理(Hydra Home Agent,HHA)是處理多芯片系統(tǒng)Cache一致性協(xié)議的模塊。POE_ICL是系統(tǒng)配置的硬件加速器,一般可以用作分組順序整理器、消息隊(duì)列、消息分發(fā)或者實(shí)現(xiàn)某個(gè)處理器內(nèi)核的特定任務(wù)等。此外,每個(gè)超級(jí)內(nèi)核集群在物理上還配置了一個(gè)通用中斷控制器分發(fā)器(GICD)模塊,兼容ARM的GICv4規(guī)范。當(dāng)單芯片或多芯片系統(tǒng)中有多個(gè)超級(jí)內(nèi)核集群時(shí),只有一個(gè)GICD對(duì)系統(tǒng)軟件可見(jiàn)。

      一起聊聊linux上numa架構(gòu)(圖文詳解)

      numactl的使用

      Linux提供了一個(gè)一個(gè)手工調(diào)優(yōu)的命令numactl(默認(rèn)不安裝),在Ubuntu上的安裝命令如下:

      sudo apt install numactl -y

      首先你可以通過(guò)man numactl或者numactl –h了解參數(shù)的作用與輸出的內(nèi)容。查看系統(tǒng)的numa狀態(tài):

      numactl --hardware

      運(yùn)行得到如下的結(jié)果:

      available: 4 nodes (0-3) node 0 cpus: 0 1 2 3 4 5 6 7 node 0 size: 16047 MB node 0 free: 3937 MB node 1 cpus: 8 9 10 11 12 13 14 15 node 1 size: 16126 MB node 1 free: 4554 MB node 2 cpus: 16 17 18 19 20 21 22 23 node 2 size: 16126 MB node 2 free: 8403 MB node 3 cpus: 24 25 26 27 28 29 30 31 node 3 size: 16126 MB node 3 free: 7774 MB node distances: node   0   1   2   3   0:  10  20  20  20   1:  20  10  20  20   2:  20  20  10  20   3:  20  20  20  10

      一起聊聊linux上numa架構(gòu)(圖文詳解)

      根據(jù)這個(gè)圖與命令得到的結(jié)果,可以看到,此系統(tǒng)共有4個(gè)node,各領(lǐng)取8個(gè)CPU和16G內(nèi)存。 這里還需要注意的就是CPU共享的L3 cache也是會(huì)自己領(lǐng)取相應(yīng)的空間。通過(guò)numastat命令可以查看numa狀態(tài),返回值內(nèi)容:

      numa_hit:是打算在該節(jié)點(diǎn)上分配內(nèi)存,最后從這個(gè)節(jié)點(diǎn)分配的次數(shù);

      numa_miss:是打算在該節(jié)點(diǎn)分配內(nèi)存,最后卻從其他節(jié)點(diǎn)分配的次數(shù);

      numa_foreign:是打算在其他節(jié)點(diǎn)分配內(nèi)存,最后卻從這個(gè)節(jié)點(diǎn)分配的次數(shù);

      interleave_hit :采用interleave策略最后從本節(jié)點(diǎn)分配的次數(shù)

      local_node:該節(jié)點(diǎn)上的進(jìn)程在該節(jié)點(diǎn)上分配的次數(shù)

      other_node:是其他節(jié)點(diǎn)進(jìn)程在該節(jié)點(diǎn)上分配的次數(shù)

      注:如果發(fā)現(xiàn) numa_miss 數(shù)值比較高時(shí),說(shuō)明需要對(duì)分配策略進(jìn)行調(diào)整。例如將指定進(jìn)程關(guān)聯(lián)綁定到指定的CPU上,從而提高內(nèi)存命中率。

      root@ubuntu:~# numastat                            node0           node1           node2           node3 numa_hit             19480355292     11164752760     12401311900     12980472384 numa_miss                5122680       122652623        88449951            7058 numa_foreign           122652643        88449935            7055         5122679 interleave_hit             12619           13942           14010           13924 local_node           19480308881     11164721296     12401264089     12980411641 other_node               5169091       122684087        88497762           67801

      NUMA的內(nèi)存分配策略

      –localalloc或者-l:規(guī)定進(jìn)程從本地節(jié)點(diǎn)上請(qǐng)求分配內(nèi)存。–membind=nodes或者-m nodes:規(guī)定進(jìn)程只能從指定的nodes上請(qǐng)求分配內(nèi)存。–preferred=node:指定一個(gè)推薦的node來(lái)獲取內(nèi)存,如果獲取失敗,則嘗試別的node。–interleave=nodes或者-i nodes:規(guī)定進(jìn)程從指定的nodes上,以round robin算法交織地請(qǐng)求內(nèi)存分配。

       numactl --interleave=all mongod -f /etc/mongod.conf

      因?yàn)镹UMA默認(rèn)的內(nèi)存分配策略是優(yōu)先在進(jìn)程所在CPU的本地內(nèi)存中分配,會(huì)導(dǎo)致CPU節(jié)點(diǎn)之間內(nèi)存分配不均衡,當(dāng)開(kāi)啟了swap,某個(gè)CPU節(jié)點(diǎn)的內(nèi)存不足時(shí),會(huì)導(dǎo)致swap產(chǎn)生,而不是從遠(yuǎn)程節(jié)點(diǎn)分配內(nèi)存。這就是所謂的swap insanity 現(xiàn)象?;?qū)е滦阅芗眲∠陆?。所以在運(yùn)維層面,我們也需要關(guān)注NUMA架構(gòu)下的內(nèi)存使用情況(多個(gè)內(nèi)存節(jié)點(diǎn)使用可能不均衡),并合理配置系統(tǒng)參數(shù)(內(nèi)存回收策略/Swap使用傾向),盡量去避免使用到Swap。

      Node->Socket->Core->Processor

      隨著多核技術(shù)的發(fā)展,將多個(gè)CPU封裝在一起,這個(gè)封裝被稱(chēng)為插槽Socket;Core是socket上獨(dú)立的硬件單元;通過(guò)intel的超線(xiàn)程HT技術(shù)進(jìn)一步提升CPU的處理能力,OS看到的邏輯上的核Processor數(shù)量。

      Socket = Node

      Socket是物理概念,指的是主板上CPU插槽;Node是邏輯概念,對(duì)應(yīng)于Socket。

      Core = 物理CPU

      Core是物理概念,一個(gè)獨(dú)立的硬件執(zhí)行單元,對(duì)應(yīng)于物理CPU;

      Thread = 邏輯CPU = Processor

      Thread是邏輯CPU,也就是Processo

      lscpu的使用

      顯示格式:

      • Architecture:架構(gòu)

      • CPU(s):邏輯cpu顆數(shù)

      • Thread(s) per core:每個(gè)核心線(xiàn)程,也就是指超線(xiàn)程

      • Core(s) per socket:每個(gè)cpu插槽核數(shù)/每顆物理cpu核數(shù)

      • CPU socket(s):cpu插槽數(shù)

      • L1d cache:級(jí)緩存(google了下,這具體表示表示cpu的L1數(shù)據(jù)緩存)

      • L1i cache:一級(jí)緩存(具體為L(zhǎng)1指令緩存)

      • L2 cache:二級(jí)緩存

      • L3 cache:三級(jí)緩存

      • NUMA node0 CPU(s) :CPU上的邏輯核,也就是超線(xiàn)程

      執(zhí)行l(wèi)scpu,結(jié)果部分如下:

      root@ubuntu:~# lscpu Architecture:          x86_64 CPU(s):                32 Thread(s) per core:    1 Core(s) per socket:    8 Socket(s):             4 L1d cache:             32K L1i cache:             32K L2 cache:              256K L3 cache:              20480K NUMA node0 CPU(s):     0-7 NUMA node1 CPU(s):     8-15 NUMA node2 CPU(s):     16-23 NUMA node3 CPU(s):     24-31

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)