国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Xen上的CPU性能監(jiān)視系統(tǒng)*

2012-11-23 04:18:16
艦船電子工程 2012年5期
關(guān)鍵詞:內(nèi)存利用率解析

(武漢數(shù)字工程研究所 武漢 430074)

1 引言

近年來,虛擬機(jī)的應(yīng)用越來越廣泛。利用虛擬化技術(shù)[1~2],單CPU可以模擬多CPU并行,一個(gè)平臺(tái)可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng),并且應(yīng)用程序可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而降低了IT 基礎(chǔ)結(jié)構(gòu)總成本,顯著提高計(jì)算機(jī)的工作效率[3]。在不斷增加的虛擬化技術(shù)列表[4]中,屬于虛擬硬件模式的Xen[5~6]成為最引人注目的技術(shù)之一。

目前,Xen虛擬機(jī)性能監(jiān)視工具主要包括Xentop,Xenmon[7]和Xenman。其中,Xentop清晰明了地顯示出當(dāng)前系統(tǒng)運(yùn)行狀態(tài)。但如果Guest Domain有I/O 操作時(shí),Xentop不能正確計(jì)算Domain0的CPU 利用率,且沒有提供監(jiān)測(cè)數(shù)據(jù)的記錄功能。Xenmon統(tǒng)計(jì)的CPU 信息不夠全面,不包含虛擬CPU 的性能參數(shù)。Xenman:是一款Xen Hypervisor的管理工具,其CPU 性能監(jiān)視能力有限,不能統(tǒng)計(jì)虛擬CPU 的利用率及時(shí)間片等基本數(shù)據(jù)。

針對(duì)上述監(jiān)視工具的不足,本文分析了CPU 利用率評(píng)估算法,設(shè)計(jì)實(shí)現(xiàn)了CPU 性能監(jiān)視系統(tǒng)XCPUMon(Xen CPU Monitor),能準(zhǔn)確、全面的獲取各個(gè)Domain的CPU信息。

2 CPU 性能監(jiān)視系統(tǒng)概述

Xen上可以運(yùn)行多個(gè)Domain,其中Domain0 是隨同Xen一起啟動(dòng)的特權(quán)Domain,擁有設(shè)備驅(qū)動(dòng)并負(fù)責(zé)管理Domain1~N(統(tǒng)稱DomainU)的運(yùn)行。另外,Xen 將物理CPU(Physical CPU,PCPU)虛擬成了多個(gè)虛擬CPU(Virtual CPU,VCPU),并通過Domain0的管理將這些VCPU分配給了DomainU 進(jìn)行使用。因此,XCPUMon 工作在Domain0上,從Domain0 上提取各個(gè)Domain(包括Domain0和DomainU)上各種CPU(包括PCPU 和VCPU)的使用信息,如圖1所示。

圖1 XCPUMon結(jié)構(gòu)圖

CPU 性能監(jiān)視系統(tǒng)(XCPUMon)包括信息采集模塊、信息解析模塊、實(shí)時(shí)信息模塊、信息記錄模塊和用戶接口模塊。

1)用戶接口模塊:系統(tǒng)通過用戶接口模塊獲取控制信息,包括采樣頻率、采樣信息種類、何時(shí)開始對(duì)實(shí)時(shí)信息進(jìn)行統(tǒng)計(jì)等,將這些信息傳遞給實(shí)時(shí)信息模塊和信息記錄模塊,同時(shí)顯示實(shí)時(shí)信息模塊評(píng)估計(jì)算出的結(jié)果信息。

2)信息采集模塊在Xen上監(jiān)測(cè)各種事件,采集所需要的CPU 相關(guān)信息,形成原始數(shù)據(jù),傳遞給信息解析模塊。

3)信息解析模塊從原始數(shù)據(jù)中解析出各個(gè)Domain的狀態(tài)、各個(gè)Domain上各種CPU 的時(shí)間片使用情況和I/O操作時(shí)內(nèi)存頁交換的次數(shù)等信息,傳遞給實(shí)時(shí)信息模塊。

4)實(shí)時(shí)信息模塊根據(jù)用戶接口模塊給出的控制信息,實(shí)時(shí)地將信息解析模塊解析出來的信息,轉(zhuǎn)化為用戶所需要的信息,包括:1)當(dāng)前各個(gè)Domain的狀態(tài);2)當(dāng)前各個(gè)Domain的各個(gè)PCPU 的使用時(shí)間、利用率、阻塞時(shí)間等信息;3)當(dāng)前各個(gè)Domain的各個(gè)VCPU 的使用時(shí)間、利用率等信息;4)從開機(jī)到現(xiàn)在各個(gè)Domain占有的CPU 時(shí)間片總數(shù)。并將這些信息傳遞給用戶接口模塊和信息記錄模塊。

5)信息記錄模塊則根據(jù)用戶接口模塊給出的控制信息,對(duì)實(shí)時(shí)信息模塊所產(chǎn)生的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、記錄,形成歷史統(tǒng)計(jì)信息。

3 CPU 利用率評(píng)估

盡管信息解析模塊已經(jīng)解析出了各個(gè)Domain的狀態(tài)信息和各種CPU 的時(shí)間片使用情況,但CPU 的利用率還未計(jì)算出來。

Domain上CPU 利用率計(jì)算的基本原理是通過采樣的方法,獲取一段時(shí)間Tinterval里,該Domain 所占有的某種CPU 的時(shí)間Tcpu_onsume,然后通過如下公式即可獲得實(shí)時(shí)的CPU 利用率信息:

由于通過信息解析模塊獲得CPU 的使用時(shí)間片累計(jì)總和,所以兩次采樣所得到的使用時(shí)間片之差-,即是采樣點(diǎn)i到i+1之間所使用的CPU 時(shí)間片Tcpu_consume。至于Tinterval,可以使用定時(shí)技術(shù),每隔一段時(shí)間會(huì)自動(dòng)進(jìn)行一次采樣,定時(shí)器的間隔時(shí)間即為Tinterval。但這樣得到的結(jié)果并不十分精確,因?yàn)獒槍?duì)某一CPU 的連續(xù)兩次采樣的時(shí)間間隔并不完全等于定時(shí)器的時(shí)間間隔,而是有一定的誤差,所以在XCPUMon中并沒有直接使用定時(shí)器的時(shí)間間隔,而是分別記錄下了每次采樣時(shí)的準(zhǔn)確時(shí)間點(diǎn),然后用兩次采樣時(shí)間點(diǎn)之差來作為Tinterval。所以CPU 的利用率計(jì)算方法如式(2)所示:

但是這樣的計(jì)算方法,對(duì)于Guest Domain有I/O 操作執(zhí)行時(shí),不可以準(zhǔn)確的得出CPU 的利用率。由Xen 的“Page-flipping”技術(shù)[8]的實(shí)施,在 Driver Domain(Domain0)中包含I/O 數(shù)據(jù)的內(nèi)存頁就會(huì)被替換成guest操作系統(tǒng)提供的一個(gè)未使用的頁。而這些內(nèi)存頁的替換造成了新的系統(tǒng)開銷。如I/O 數(shù)據(jù)從或向Guest Domain傳輸?shù)倪^程就造成了新的系統(tǒng)開銷。假設(shè)當(dāng)前系統(tǒng)中有Domain0,Domain1~DomainN (統(tǒng)稱DomainU),而其中Domain0作為Driver Domain。觀察在Domain0處于執(zhí)行期間Ts時(shí)間內(nèi)與其他各個(gè)Domain之間的內(nèi)存頁交換總次數(shù)記為Ns,則一次內(nèi)存頁的交換產(chǎn)生的COSTs=Ts/Ns,同時(shí)通過信息的捕獲可知DomainU 與Domain0之間的內(nèi)存頁交換次數(shù)為NdomU,則Domain0在實(shí)際的執(zhí)行時(shí)間中應(yīng)屬于DomainU 的內(nèi)存頁交換時(shí)間為TdomU=NdomU*COSTs。

所以在計(jì)算Domain0的利用率時(shí)公式應(yīng)為

而在計(jì)算DomainU 的利用率時(shí)公式應(yīng)為

這樣,當(dāng)Guest Domain有I/O操作執(zhí)行(即NdomU?。?時(shí)),各個(gè)Domain的CPU 的使用率也可以得到正確的顯示。

4 測(cè)試與分析

測(cè)試環(huán)境如圖2所示。

圖2 測(cè)試環(huán)境

當(dāng)前物理主機(jī)上運(yùn)行了三個(gè)Domain,其ID 分別是Domain0、Domain1 和Domain2。CPU 性能監(jiān)視軟件運(yùn)行在Domain0上。

4.1 DomainU 中無I/O 操作

當(dāng)Domain1與Domain2都沒有運(yùn)行任何的應(yīng)用程序,處于阻塞狀態(tài)時(shí),其CPU 利用率基本為0。觀察Domain0的監(jiān)視結(jié)果,如圖3所示。

圖3 XCPUMon Domain0的統(tǒng)計(jì)結(jié)果

由于Domain0是一個(gè)比較特殊的Domain,它是開機(jī)時(shí)就直接開啟的一個(gè)虛擬機(jī),同時(shí)其中還包含著一些設(shè)備驅(qū)動(dòng)程序,所以Domain0 是一直處于運(yùn)行狀態(tài),故其占用的CPU 一直大于0。在測(cè)試過程中,加入如下操作:終端中的操作、截取屏幕顯示、窗口的切換等,造成突然CPU 的數(shù)據(jù)處理,如3中所示,在x軸約40處,即第一個(gè)CPU 利用率峰值是由于工作區(qū)的轉(zhuǎn)換引起的。由圖3可以得到當(dāng)前CPU的性能數(shù)據(jù)分別為:PCPU0的利用率為3.52%,PCPU1的利用率為3.05%,VCPU0 的利用率為3.11%,VCPU1的利用率為3.45%。可以看出PCPU 利用率之和(6.57%)基本等于VCPU利用率之和(6.56%),說 明XCPUMon的監(jiān)測(cè)數(shù)據(jù)是合理的。

表1 Domain0的統(tǒng)計(jì)結(jié)果

為了驗(yàn)證CPU 利用率的準(zhǔn)確性,在Domain0上同時(shí)運(yùn)行了Xentop與Xenmon,其結(jié)果如表1所示。Xentop顯示的當(dāng)前Domain0 的CPU 利用率情況為6.7%,與XCPUMon得到的6.6%的數(shù)據(jù)基本吻合。而Xemon會(huì)分頁顯示PCPU0的利用率為3.54%,PCPU1 的利用率為3.01%。與XCPUMon的PCPU0為3.52%,PCPU1為3.05%的數(shù)據(jù)基本一致。

綜上可知,當(dāng)Domain1 與Domain2中沒有I/O 操作時(shí),XCPUMon的數(shù)據(jù)測(cè)量是比較準(zhǔn)確的。

4.2 DomainU 中有I/O 操作

當(dāng)Domain2中未運(yùn)行任何應(yīng)用程序,Domain1 上運(yùn)行一個(gè)間隔5s打印一次屏幕的測(cè)試程序時(shí),XCPUMon 與Xentop的運(yùn)行結(jié)果數(shù)據(jù)如表2所示。

表2 CPU 利用率的統(tǒng)計(jì)結(jié)果

Xentop的監(jiān)視結(jié)果表明:當(dāng)前Domain0 的CPU 利用率高達(dá)142.1%,這是由于在I/O 操作密集的應(yīng)用程序運(yùn)行時(shí),Xentop統(tǒng)計(jì)的CPU 的利用率包含兩個(gè)部分:另一部分為有I/O 應(yīng)用程序運(yùn)行的Domain1的CPU 利用率,一部分為Domain0在I/O 進(jìn)程執(zhí)行的過程中使用“Page-flipping”技術(shù)所產(chǎn)生的CPU 利用率。

而XCPUMon 顯示Domain0 的PCPU0 利用率為3.95%,PCPU1 的利用率為3.52%,VCPU0 的利用率為3.65%,VCPU1的利用率為3.81%,總的虛擬機(jī)CPU 利用率為7.46%,遠(yuǎn)遠(yuǎn)低于Xentop中的142.1%,而Domain1中的CPU 利用率為79.51%,遠(yuǎn)遠(yuǎn)高于Xentop中Domain1的0.1%,這是由于Domain1中開始循環(huán)執(zhí)行Print命令造成的??梢姡ㄟ^對(duì)各個(gè)Domain的I/O 操作時(shí)的系統(tǒng)開銷的加減,即使當(dāng)有DomainU 中執(zhí)行I/O 時(shí),XCPUMon也可以比較準(zhǔn)確的顯示出各個(gè)Domain的CPU 利用率。

5 結(jié)語

我們下一步的工作:對(duì)采樣間隔時(shí)間的設(shè)置。本系統(tǒng)采用定期采樣的數(shù)據(jù)統(tǒng)計(jì)方法,其采樣頻率對(duì)統(tǒng)計(jì)出的CPU 性能數(shù)據(jù)會(huì)有一定的影響。在保證系統(tǒng)運(yùn)行效率高,開銷小的情況下,有效利用實(shí)時(shí)捕捉數(shù)據(jù)的統(tǒng)計(jì)方式來獲取CPU 性能數(shù)據(jù),減小CPU 性能監(jiān)視軟件對(duì)CPU 性能數(shù)據(jù)的影響。

[1]R.Goldberg,Survey of Virtual Machine Research[J].IEEE Computer,June,1974:34-45.

[2]P.Chen,B.Noble,When Virtual is Better Than Real[Z].HOT-OS,April,2001.

[3]Mendel Rosenblum,Tal Garfinkel,Virtual Machine Monitors:Current Technology and Future Trends[J].IEEE Computer,2005,5:4-10.

[4]J.E.Smith,Ravi Nair,An Overview of Virtual Machine Architecture[M].Morgan Kaufmann Publisher,2004:1-20.

[5]PaulBarham,BorisDragovic,KeirFraser,et al.Xen and the art of virtualization.Proceedings of the nineteenth ACM symposium on Operating Systems Principles,2003:1-20.

[6]D.Gupta and A.Vahdat,“Comparasion of the three CPU schedulers in Xen”,ACM SIGMETRICS Performance Evaluation Review,2007:15-31.

[7]D.Gupta,R.Gardner,and L.Cherkasovah,“Xenmon:Qos monitoring and performance profiling tool”,Technical Report HPL-2005-187,HP Labs,2005.

[8]L.Cherkasova and R.Gardner,“Measuring CPU Overhead for I/O Processing in the Xen Virtual Machine Monitor”,Proceedings of the Annual Technical Usenix Conference,2005.

[9]Nieh,O.Leonard,“Examining VMWare”,Dr.Dobb’s Journal,August,2000.

[10]A.Whitaker,M.Shaw,and S.D.Gribble,“Denali:Lightweight virtual machines for distributed and networked applications,”Technical Report 02-02-01,2002.

猜你喜歡
內(nèi)存利用率解析
三角函數(shù)解析式中ω的幾種求法
“春夏秋冬”的內(nèi)存
化肥利用率穩(wěn)步增長(zhǎng)
做好農(nóng)村土地流轉(zhuǎn) 提高土地利用率
睡夢(mèng)解析儀
淺議如何提高涉煙信息的利用率
電競(jìng)初解析
商周刊(2017年12期)2017-06-22 12:02:01
相機(jī)解析
板材利用率提高之研究
基于內(nèi)存的地理信息訪問技術(shù)
揭阳市| 宿迁市| 丰顺县| 金阳县| 汉川市| 武平县| 论坛| 进贤县| 织金县| 基隆市| 绩溪县| 井冈山市| 阆中市| 青龙| 盖州市| 铁力市| 上饶县| 石城县| 长泰县| 准格尔旗| 青冈县| 密云县| 衡山县| 清水河县| 阿勒泰市| 邯郸市| 腾冲县| 闸北区| 沙湾县| 平潭县| 和田市| 崇阳县| 循化| 安阳县| 怀来县| 裕民县| 余姚市| 泸州市| 志丹县| 凯里市| 平昌县|