999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RHEL服務器CPU調優初探

2018-01-30 08:46:44王俊杰
智富時代 2018年10期

王俊杰

【摘 要】服務器CPU優化是以提高應用程序、服務或系統能力為目的。那么如何才能實現對應用程序的性能調優呢?這里涉及到很多的內容,包括Linux內核、CPU架構以及內核對資源的分配以及管理。本文從CPU架構入手,對CPU優化進行探討。

【關鍵詞】CPU;性能優化;架構

一、架構結構介紹

在現行計算機硬件中,多核CPU或者多顆CPU共存以提高系統性能的性能情況非常常見。

SMP的全稱是"對稱多處理"(Symmetrical Multi-Processing)技術,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內存子系統以及總線結構。是一種常見的并行技術。這種架構對內存的要求就更高了,也就是說,不是CPU數量越多,性能提升就越快。

NUMA: 非一致性內存訪問架構 Non Uniform Memory Access Architecture。概念:現代計算機的處理速度比它的主存速度快不少。而在早期的計算和數據處理中,CPU通常比它的主存慢。但是隨著超級計算機的到來,處理器和存儲器的性能在二十世紀六十年代達到平衡。自從那個時候,CPU常常對數據感到饑餓而且必須等待存儲器的數據到來。為了解決這個問題,很多在80和90年代的超級計算機設計專注于提供高速的存儲器訪問,使得計算機能夠高速地處理其他系統不能處理的大數據集。

限制訪問存儲器的次數是現代計算機提高性能的要點。對于商品化的處理器,這意味著設置數量不斷增長的高速緩存和使用不斷變得精巧復雜的算法以防止“緩存數據缺失(cache missed)”。但是操作系統和應用程序大小的明顯增長壓制了前述的緩存技術造成的提升。沒有使用NUMA的多處理器系統使得問題更糟糕。因為同一時間只能有一個處理器訪問計算機的存儲器,所以在一個系統中可能存在多個處理器在等待訪問存儲器。

NUMA通過提供分離的存儲器給各個處理器,避免當多個處理器訪問同一個存儲器產生的性能損失來試圖解決這個問題。對于涉及到分散的數據的應用(在服務器和類似于服務器的應用中很常見),NUMA可以通過一個共享的存儲器提高性能至n倍,而n大約是處理器(或者分離的存儲器)的個數。

當然,不是所有數據都局限于一個任務,所以多個處理器可能需要同一個數據。為了處理這種情況,NUMA系統包含了附加的軟件或者硬件來移動不同存儲器的數據。這個操作降低了對應于這些存儲器的處理器的性能,所以總體的速度提升受制于運行任務的特點。

NUMA最初是用于將單一處理器連接到多個內存條中。因為CPU 制造商改進了其工藝并縮小了芯片尺寸,因此可在一個包裝中包括多個 CPU核。這些CPU核以集群形式尋址以便每個核都有相同的訪問本地內存條的時間,同時可在核之間共享緩存。

每個動作都需要通過多個內存控制器,這樣訪問在嘗試訪問遠程內存地址時,時間會延長兩倍以上。因此多核系統中主要性能考量是保證以最有效的方式進行信息傳遞,即通過最短最迅速的路徑。

二、優化方法簡介

要為優化CPU性能配置程序,需要了解:

1、系統的拓撲,執行程序的核,以及最接近的內存條位置。

2、換一句話來講,如果指定某CPU就之訪問自己的內存塊,效率將提高。

CPU affinity CPU姻親關系 CPU綁定

將某些進程啟動起來之后直接綁定在某顆CPU上(或某個CPU的某些核上),讓該進程只能在該CPU上運行,不會被調度到其他CPU上,從而不會發生交叉內存訪問的情況,提高內存使用率。但這么做有可能會使得某一個CPU很忙而其他的CPU很閑,也會降低資源的使用率,那么此時,需要有一個平衡點。

在numa架構中,同一物理內存會被區分成為多個node,每個CPU對應著一個專屬的node。

[root@localhost tftpboot]# numastat

node0

numa_hit 2071673

numa_miss 0

numa_foreign 0

interleave_hit 14414

local_node 2071673

other_node 0

numa_hit 表示該段內存的數據命中總數;numa_miss表示該段內存數據未命中總數;當numa_miss出現次數過多,這個時候需要進行進程和CPU進行綁定。numa_foreign表示當前結點被其他(非本地)cpu訪問的次數,若過高,可想像為提高本地CPU訪問效率,也可進行綁定;

CPU隔離:為了讓沒綁定到指定CPU上的進程不再被調度到該CPU上,盡量減少或者隔絕進程切換帶來的系統消耗,從而提高系統效率,把這個指定的CPU從所有進程中能被調度到的一堆CPU中隔離開來.可以向/etc/grub.conf配置文件中,傳遞內核啟動參數:

isolcpus= cpu number,…,cpu number

當系統啟動時,ioslcpu參數設定某些CPU隔離之后,內核將不會使已經啟動了的某些進程被調度到隔離的CPU上,那么這樣做就能夠將我們所需要隔離的CPU預留起來,以供某些特殊進程綁定使用。

其他的進程不再被調度到該CPU上,但不經過設置無法不處理外設的中斷請求,此時,為了讓該CPU要么處理綁定的進程,要么只切換到內核模式,考慮將該CPU上將中斷處理的功能屏蔽。

應該將中斷綁定至那些非隔離的CPU上,從而避免那些隔離的CPU處理中斷進程(程序)。

調度域

將所有CPU放到(組織)一個所謂的根域下,然后根據需求,將根域劃分為若干個子域,不管是根域還是子域,劃分的標準均以cpu本身來進行劃分。

將進程和某個子域進行綁定,當進程與某子域綁定之后,進程只能在子域中的CPU內進行調度。

若某進程綁定的是根域,那么表示該進程可在當前所有的CPU上進行調度。而對于進程運行所需資源而言,除了CPU更關鍵的就是內存了。在非numa結構下,內存段對于所有CPU而言就只有一段,通過這個調度域本身也能簡單的將內存段進行管理。

【參考文獻】

[1]崔連和.Linux系統與網絡管理[M].機械工業出版社,2014.3.

[2]錢峰, 許斗. linux網絡操作系統配置與管理[M].高等教育出版社,2015.1

[3]何明.linux系統管理[M].清華大學出版社, 2013.4

[4]沈健,王夢龍.linux系統管理[M].華東理工大學出版社,2014.8

[5]朱龍,賈如春.linux系統管理[M].人民郵電出版社,2015.8

主站蜘蛛池模板: AV无码一区二区三区四区| 国产成人一区在线播放| 小说 亚洲 无码 精品| 国产精品白浆无码流出在线看| 欧美性久久久久| 制服丝袜无码每日更新| 国产在线自乱拍播放| 香蕉eeww99国产在线观看| 国产剧情一区二区| 日韩毛片在线视频| 日韩精品中文字幕一区三区| 日韩成人免费网站| 中文字幕在线永久在线视频2020| 视频在线观看一区二区| 亚国产欧美在线人成| 久草国产在线观看| 综合色婷婷| 欧美h在线观看| 国产丝袜无码一区二区视频| 日韩无码白| 亚洲美女AV免费一区| 91娇喘视频| 色妺妺在线视频喷水| 亚洲性日韩精品一区二区| 日本一区二区三区精品视频| 欧美综合激情| 亚洲日韩图片专区第1页| 亚洲欧美h| 免费va国产在线观看| 久久久久久久97| 亚洲激情区| 中文字幕有乳无码| 亚洲天堂网视频| 国产欧美日韩精品第二区| 成AV人片一区二区三区久久| 亚洲国产精品不卡在线| 九九视频在线免费观看| 澳门av无码| 美女裸体18禁网站| 国产性生大片免费观看性欧美| 99热在线只有精品| 日本人真淫视频一区二区三区| 亚洲VA中文字幕| 中字无码av在线电影| 2020极品精品国产| 8090成人午夜精品| 亚洲va欧美ⅴa国产va影院| 一级全黄毛片| 亚洲人成成无码网WWW| 亚洲成A人V欧美综合| 在线观看的黄网| 久久婷婷人人澡人人爱91| 天堂亚洲网| 亚洲成AV人手机在线观看网站| 久夜色精品国产噜噜| 日韩av无码DVD| 中文字幕va| 老司机午夜精品网站在线观看 | 久久久久亚洲AV成人网站软件| 亚洲国产天堂久久综合| 亚洲AV无码久久天堂| 国产9191精品免费观看| 日韩欧美高清视频| 久久综合九色综合97婷婷| 亚洲一区二区无码视频| 婷婷色中文网| 国产a网站| 亚洲精品国产精品乱码不卞| av性天堂网| 欧美一级99在线观看国产| 国产一区二区三区免费| 国产成人你懂的在线观看| 国产高潮视频在线观看| 欧美成人国产| 国产美女叼嘿视频免费看| 美女黄网十八禁免费看| 色综合中文字幕| 丁香六月激情综合| 女人18毛片水真多国产| 久久香蕉国产线看精品| 伊人久久大线影院首页| 日韩国产一区二区三区无码|