本發(fā)明屬于服務(wù)器內(nèi)存測(cè)試方法技術(shù)領(lǐng)域,具體涉及一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置及方法。
背景技術(shù):
隨著云計(jì)算、大數(shù)據(jù)等新型技術(shù)的發(fā)展,對(duì)服務(wù)器的處理器、內(nèi)存、數(shù)據(jù)存儲(chǔ)的帶寬和容量等性能要求越來越高,如何高效地評(píng)估服務(wù)器各項(xiàng)基本性能對(duì)服務(wù)器廠商、服務(wù)器用戶有十分重大的意義。傳統(tǒng)服務(wù)器性能測(cè)試機(jī)器出廠設(shè)置并未做到最優(yōu)化,通常測(cè)試出來的成績(jī)也并未提升到最理想,無法使CPU、內(nèi)存、磁盤、網(wǎng)卡等設(shè)備的性能得到最大發(fā)揮,從而因木桶效應(yīng)驗(yàn)證影響了整機(jī)的計(jì)算能力,造成資源的驗(yàn)證浪費(fèi)。此為現(xiàn)有技術(shù)的不足之處。
因此,針對(duì)現(xiàn)有技術(shù)中的上述缺陷,提供設(shè)計(jì)一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置及方法,以解決上述技術(shù)問題,是非常有必要的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,提供設(shè)計(jì)一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置及方法,以解決上述技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明給出以下技術(shù)方案:
一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置,它包括CPU處理器,其特征在于:所述的CPU處理器連接有Patrol Scrub狀態(tài)讀取模塊和Demand Scrub狀態(tài)讀取模塊,以及Patrol Scrub狀態(tài)更改模塊和Demand Scrub狀態(tài)更改模塊;Patrol Scrub狀態(tài)讀取模塊和Patrol Scrub狀態(tài)更改模塊均連接有Patrol Scrub單元,Demand Scrub狀態(tài)讀取模塊和Demand Scrub狀態(tài)更改模塊均連接有Demand Scrub單元。
一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試方法,包括以下步驟:
步驟1):?jiǎn)?dòng)服務(wù)器;
步驟2):根據(jù)服務(wù)器操作指導(dǎo)進(jìn)入BIOS系統(tǒng);
步驟3):在內(nèi)存條路中,將Patrol Scrub(或同等功能的其他稱呼)設(shè)置為Disable(不可用),再將Demand Scrub(或同等功能的其他稱呼)設(shè)置為Disable(不可用)。
優(yōu)選地,在步驟2)之后還包含有步驟21),所述步驟21)具體如下:
步驟211):判斷服務(wù)器中內(nèi)存中Patrol Scrub和Demand Scrub兩個(gè)參數(shù)是否被隱藏,如果沒有被隱藏,則轉(zhuǎn)到步驟3);否則轉(zhuǎn)到步驟212),
步驟212):在在DRAM Maintenance將其設(shè)置為Manuel(手動(dòng)),然后轉(zhuǎn)到步驟3)。
DRAM(Dynamic Random Access Memory),即動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,最為常見的系統(tǒng)內(nèi)存。而DRAM Maintenance,是DRAM的維護(hù)配置選項(xiàng),他包括Patrol Srub和Demand Scrub兩個(gè)參數(shù)。前者(Patrol Scrub)功能開啟后,CPU會(huì)在一定周期內(nèi)(一般為24小時(shí))將安裝在系統(tǒng)上的內(nèi)存都讀取和校驗(yàn)一次,如果發(fā)現(xiàn)有ECC錯(cuò)誤,則會(huì)主動(dòng)糾正。而后者(Demand Scrub)功能開啟后,CPU在讀某段內(nèi)存時(shí),發(fā)現(xiàn)有ECC錯(cuò)誤,會(huì)將其糾正。
ECC(Error Checking and Correcting,錯(cuò)誤檢查和糾正),它是通過在數(shù)據(jù)位上額外的位存儲(chǔ)一個(gè)用數(shù)據(jù)加密的代碼進(jìn)行糾錯(cuò)糾正。當(dāng)數(shù)據(jù)被寫入內(nèi)存,相應(yīng)的ECC代碼與此同時(shí)也被保存下來。當(dāng)重新讀回剛才存儲(chǔ)的數(shù)據(jù)時(shí),保存下來的ECC代碼就會(huì)和讀數(shù)據(jù)時(shí)產(chǎn)生的ECC代碼做比較。如果兩個(gè)代碼不相同,他們則會(huì)被解碼,以確定數(shù)據(jù)中的哪一位是不正確的。然后這一錯(cuò)誤位會(huì)被拋棄,內(nèi)存控制器則會(huì)釋放出正確的數(shù)據(jù)。被糾正的數(shù)據(jù)很少會(huì)被放回內(nèi)存。假如相同的錯(cuò)誤數(shù)據(jù)再次被讀出,則糾正過程再次被執(zhí)行。重寫數(shù)據(jù)會(huì)增加處理過程的開銷,這樣則會(huì)導(dǎo)致系統(tǒng)性能的明顯降低。
而對(duì)于CPU性能測(cè)試SPEC CPU、java性能測(cè)試SPEC Jbb、內(nèi)存性能測(cè)試工具Lmbench和CPU性能測(cè)試軟件Linpack等,通過研究隨機(jī)錯(cuò)誤發(fā)生的概率和實(shí)際反復(fù)測(cè)試得知,關(guān)閉內(nèi)存的糾錯(cuò)糾正對(duì)以上各種性能測(cè)試軟件來說并無較大影響。所以,通過理論與實(shí)踐的結(jié)合驗(yàn)證,關(guān)閉Patrol Srub和Demand Scrub對(duì)性能測(cè)試無較大影響,同時(shí)又能一定程度上提升內(nèi)存效率。
本發(fā)明的有益效果在于,通過本發(fā)明,可以提高服務(wù)器計(jì)算效率,完美提高內(nèi)存性能,從而間接提升CPU、內(nèi)存、磁盤、網(wǎng)卡等設(shè)備的性能,同樣數(shù)量的服務(wù)器可以完成更多的計(jì)算要求,反過來同樣的計(jì)算需求就需要更少的服務(wù)器,這是對(duì)資源的節(jié)省,所以在提升服務(wù)器效率的同時(shí)更有助于環(huán)保。
此外,本發(fā)明設(shè)計(jì)原理可靠,結(jié)構(gòu)簡(jiǎn)單,具有非常廣泛的應(yīng)用前景。
由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著地進(jìn)步,其實(shí)施的有益效果也是顯而易見的。
附圖說明
圖1是本發(fā)明提供的一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置的結(jié)構(gòu)示意圖。
其中,1-CPU處理器,2-Patrol Scrub狀態(tài)讀取模塊,3-Demand Scrub狀態(tài)讀取模塊,4-Patrol Scrub狀態(tài)更改模塊,5-Demand Scrub狀態(tài)更改模塊,6-Patrol Scrub單元,7-Demand Scrub單元。
具體實(shí)施方式
下面結(jié)合附圖并通過具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)闡述,以下實(shí)施例是對(duì)本發(fā)明的解釋,而本發(fā)明并不局限于以下實(shí)施方式。
如圖1所示,本發(fā)明提供的一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試裝置,它包括CPU處理器1,所述的CPU處理器1連接有Patrol Scrub狀態(tài)讀取模塊2和Demand Scrub狀態(tài)讀取模塊3,以及Patrol Scrub狀態(tài)更改模塊4和Demand Scrub狀態(tài)更改模塊5;Patrol Scrub狀態(tài)讀取模塊2和Patrol Scrub狀態(tài)更改模塊4均連接有Patrol Scrub單元6,Demand Scrub狀態(tài)讀取模塊3和Demand Scrub狀態(tài)更改模塊5均連接有Demand Scrub單元7。
本發(fā)明還給出一種基于x86_64架構(gòu)的服務(wù)器內(nèi)存測(cè)試方法,包括以下步驟:
步驟1):?jiǎn)?dòng)服務(wù)器;
步驟2):根據(jù)服務(wù)器操作指導(dǎo)進(jìn)入BIOS系統(tǒng);
步驟3):在內(nèi)存條路中,將Patrol Scrub(或同等功能的其他稱呼)設(shè)置為Disable(不可用),再將Demand Scrub(或同等功能的其他稱呼)設(shè)置為Disable(不可用)。
本實(shí)施例中,在步驟2)之后還包含有步驟21),所述步驟21)具體如下:
步驟211):判斷服務(wù)器中內(nèi)存中Patrol Scrub和Demand Scrub兩個(gè)參數(shù)是否被隱藏,如果沒有被隱藏,則轉(zhuǎn)到步驟3);否則轉(zhuǎn)到步驟212),
步驟212):在在DRAM Maintenance將其設(shè)置為Manuel(手動(dòng)),然后轉(zhuǎn)到步驟3)。
DRAM(Dynamic Random Access Memory),即動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,最為常見的系統(tǒng)內(nèi)存。而DRAM Maintenance,是DRAM的維護(hù)配置選項(xiàng),他包括Patrol Srub和Demand Scrub兩個(gè)參數(shù)。前者(Patrol Scrub)功能開啟后,CPU會(huì)在一定周期內(nèi)(一般為24小時(shí))將安裝在系統(tǒng)上的內(nèi)存都讀取和校驗(yàn)一次,如果發(fā)現(xiàn)有ECC錯(cuò)誤,則會(huì)主動(dòng)糾正。而后者(Demand Scrub)功能開啟后,CPU在讀某段內(nèi)存時(shí),發(fā)現(xiàn)有ECC錯(cuò)誤,會(huì)將其糾正。
ECC(Error Checking and Correcting,錯(cuò)誤檢查和糾正),它是通過在數(shù)據(jù)位上額外的位存儲(chǔ)一個(gè)用數(shù)據(jù)加密的代碼進(jìn)行糾錯(cuò)糾正。當(dāng)數(shù)據(jù)被寫入內(nèi)存,相應(yīng)的ECC代碼與此同時(shí)也被保存下來。當(dāng)重新讀回剛才存儲(chǔ)的數(shù)據(jù)時(shí),保存下來的ECC代碼就會(huì)和讀數(shù)據(jù)時(shí)產(chǎn)生的ECC代碼做比較。如果兩個(gè)代碼不相同,他們則會(huì)被解碼,以確定數(shù)據(jù)中的哪一位是不正確的。然后這一錯(cuò)誤位會(huì)被拋棄,內(nèi)存控制器則會(huì)釋放出正確的數(shù)據(jù)。被糾正的數(shù)據(jù)很少會(huì)被放回內(nèi)存。假如相同的錯(cuò)誤數(shù)據(jù)再次被讀出,則糾正過程再次被執(zhí)行。重寫數(shù)據(jù)會(huì)增加處理過程的開銷,這樣則會(huì)導(dǎo)致系統(tǒng)性能的明顯降低。
而對(duì)于CPU性能測(cè)試SPEC CPU、java性能測(cè)試SPEC Jbb、內(nèi)存性能測(cè)試工具Lmbench和CPU性能測(cè)試軟件Linpack等,通過研究隨機(jī)錯(cuò)誤發(fā)生的概率和實(shí)際反復(fù)測(cè)試得知,關(guān)閉內(nèi)存的糾錯(cuò)糾正對(duì)以上各種性能測(cè)試軟件來說并無較大影響。所以,通過理論與實(shí)踐的結(jié)合驗(yàn)證,關(guān)閉Patrol Srub和Demand Scrub對(duì)性能測(cè)試無較大影響,同時(shí)又能一定程度上提升內(nèi)存效率。
以上公開的僅為本發(fā)明的優(yōu)選實(shí)施方式,但本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的沒有創(chuàng)造性的變化,以及在不脫離本發(fā)明原理前提下所作的若干改進(jìn)和潤(rùn)飾,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。