0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

原因分析:CPU拓?fù)洳町悓?dǎo)致Unixbench分?jǐn)?shù)異常

Linux閱碼場 ? 來源:未知 ? 作者:李倩 ? 2018-07-06 09:35 ? 次閱讀

本文通過實(shí)驗論證:Unixbench的Pipe-based Context Switching用例受操作系統(tǒng)調(diào)度算法的影響波動很大,甚至出現(xiàn)了虛擬機(jī)跑分超過物理機(jī)的情況。在云計算時代,當(dāng)前的Unixbench已不能真實(shí)地反映被測系統(tǒng)的真實(shí)性能,需要針對多核服務(wù)器和云計算環(huán)境進(jìn)行完善。

簡單的說,視操作系統(tǒng)多核負(fù)載均衡策略的差異,該用例可能表現(xiàn)出兩種截然不同的效果:

1?在惰性的調(diào)度策略環(huán)境下,測試得分較高,但是會導(dǎo)致系統(tǒng)中任務(wù)調(diào)度延遲,最終可能引起業(yè)務(wù)性能抖動。例如,在視頻播放、音頻處理的業(yè)務(wù)環(huán)境中,引起視頻卡頓、音頻視頻不同步等問題。

2?在積極的調(diào)度策略環(huán)境下,測試得分偏低,但是系統(tǒng)中任務(wù)運(yùn)行實(shí)時性更高,業(yè)務(wù)運(yùn)行更流暢。

后文將詳細(xì)說明Pipe-basedContext Switching用例的設(shè)計原理,測試其在不同系統(tǒng)中的運(yùn)行結(jié)果,并提出測試用例改進(jìn)建議。

1測試背景

近期,團(tuán)隊在進(jìn)行服務(wù)器選型的時候,需要對兩款服務(wù)器進(jìn)行性能評估,其中一款服務(wù)器采用64核Xeon CPU,另一臺則采用16核Atom CPU。詳細(xì)配置信息如下:

指標(biāo)名稱 Xeon服務(wù)器 Atom服務(wù)器
Architecture x86_64 x86_64
CPUs 64 16
Threads per core 2 1
Core(s) per socket 16 16
Socket(s) 2 1
NUMA node(s) 1 1
Model name Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz Intel(R) Atom(TM) CPU C3958 @ 2.00GHz
CPU MHz 2499.902 1999.613
BogoMIPS 4993.49 3999.22
L1d cache 32K 24K
L1i cache 32K 32K
L2 cache 256K 2048K
L3 cache 40960K None

根據(jù)硬件廠商的評測,Xeon服務(wù)器的綜合性能是Atom服務(wù)器的3倍。

我們采用了久負(fù)盛名的Unixbench性能測試套件,為我們最終的選擇提供參考。

Xeon的性能碾壓Atom是毋庸置疑的,畢竟Atom 更專注于功耗而不是性能,Atom服務(wù)器甚至沒有3級緩存,并且StoreBuffer、Message Queue的深度更低,流水線級數(shù)更少。

出于業(yè)務(wù)需求,在整個測試過程中我們更關(guān)注單核的性能。為了排除軟件的影響,兩臺服務(wù)器均安裝Centos 7操作系統(tǒng)。

測試命令很簡單,在控制臺中執(zhí)行如下命令:

./Run -c 1 -v

執(zhí)行時間比較久,我們可以到一邊去喝點(diǎn)燒酒。一杯燒酒下肚,神清氣爽:-)可以看看結(jié)果是否符合咱們的預(yù)期:

指標(biāo)名稱 Xeon服務(wù)器 Atom服務(wù)器
Dhrystone 2 using register variables 2610.1 1283.7
Double-Precision Whetstone 651.2 489.4
Execl Throughput 447.9 361.5
File Copy 1024 bufsize 2000 maxblocks 2304.5 955.0
File Copy 256 bufsize 500 maxblocks 1494.5 711.2
File Copy 4096 bufsize 8000 maxblocks 4475.9 1396.2
Pipe Throughput 1310.9 614.4
Pipe-based Context Switching 428.4 339.8
Process Creation 461.7 159.6
Shell Scripts (1 concurrent) 1438.8 326.7
Shell Scripts (8 concurrent) 5354.5 789.8
System Call Overhead 2237.0 930.1
System Benchmarks Index Score 1390.9 588.4

總分整體符合預(yù)期:Xeon服務(wù)器單核性能是Atom服務(wù)器的2.36倍(1390/588.4)

但是,這里出現(xiàn)了一個異常,細(xì)心的讀者應(yīng)該已經(jīng)發(fā)現(xiàn):Pipe-based Context Switching測試用例的結(jié)果比較反常!從上表可以看出,無論是總分還是單項分?jǐn)?shù),Xeon服務(wù)器均遠(yuǎn)遠(yuǎn)超過Atom服務(wù)器。其中也包括Pipe Throughput這項用例。然而“Pipe-based Context Switching”這項指標(biāo)顯得有點(diǎn)與眾不同:在這項指標(biāo)中,Xeon服務(wù)器的優(yōu)勢并不明顯,僅領(lǐng)先25%左右。

為了排除測試誤差,我們反復(fù)進(jìn)行了幾次測試,均發(fā)現(xiàn)同樣的規(guī)律。“Pipe-based Context Switching”項的分?jǐn)?shù)差異并不明顯,沒有體現(xiàn)出Xeon服務(wù)器的性能優(yōu)勢。

這一問題引起了我們的興趣,Unixbench這樣的權(quán)威測試軟件的結(jié)果居然和廠商宣稱的出入這么大。為了找出原因,我們使用其他測試環(huán)境,進(jìn)行了一系列的對比測試。首先,我們找了更多物理機(jī)進(jìn)行對比分析。

1.1物理機(jī)對比測試

為此,我們使用另一組服務(wù)器進(jìn)行對比測試,其型號分別為:HP ProLiantDL360p Gen8?DELL PowerEdge R720xd。配置如下:

指標(biāo)名稱 HP ProLiant DL360p Gen8 DELL PowerEdge R720xd
Architecture x86_64 x86_64
CPUs 24 32
Threads per core 2 2
Core(s) per socket 6 16
Socket(s) 2 2
NUMA node(s) 1 1
Model name Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
CPU MHz 1200.000 2300.000
BogoMIPS 4594.05 4615.83
L1d cache 32K 32K
L1i cache 32K 32K
L2 cache 256K 256K
L3 cache 15360K 20480K

分別在兩臺服務(wù)器的控制臺中輸入如下命令,單獨(dú)對“Pipe-based Context Switching”用例進(jìn)行測試:

./Run index2 -c1

得到該測試項的分?jǐn)?shù)為:

指標(biāo)名稱 ProLiant DL360p Gen8 PowerEdge R720xd
Pipe-based Context Switching 381.4 432.1

測試結(jié)果與上面相似,硬件參數(shù)明顯占優(yōu)的DELLL跑分僅領(lǐng)先HP不到20%:-(

1.2物理機(jī)VS虛擬機(jī)

測試似乎陷入了迷途,然而我們一定需要將加西亞的信送到目的地,并且堅信“柳暗花明又一村”的那一刻終究會到來。

為此,我們使用三組云虛擬機(jī)來進(jìn)行測試。這三組虛擬機(jī)配置如下:

指標(biāo)名稱 虛擬機(jī)A 虛擬機(jī)B 虛擬機(jī)C
Architecture x86_64 x86_64 x86_64
CPUs 4 4 4
Threads per core 2 1 1
Core(s) per socket 2 4 4
Socket(s) 1 1 1
NUMA node(s) 1 1 1
Model name Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz Intel(R) Xeon(R) CPU E5-26xx v4 Intel(R) Xeon(R) CPU E5-2676 v3 @2.40 GHz
CPU MHz 2494.222 2394.454 2400.102
BogoMIPS 4988.44 4788.90 4800.07
L1d cache 32K 32K 32k
L1i cache 32K 32K 32k
L2 cache 256K 4096K 256K
L3 cache 40960K none 30720K

這三款虛擬機(jī)與此前的物理機(jī)參數(shù)相差不大,如果不出意外的話,分?jǐn)?shù)應(yīng)當(dāng)介于300~400之間。

然而測試結(jié)果出人意料,以至于筆者的鏡片摔了一地:

指標(biāo)名稱 虛擬機(jī)A 虛擬機(jī)B 虛擬機(jī)C
Pipe-based Context Switching 109.4 589.1 105.1

特別令人吃驚的是:第二組虛擬機(jī)的測試分?jǐn)?shù),竟然是物理主機(jī)的1.5倍,并且是第一組虛擬機(jī)和第三組虛擬機(jī)的5.4倍。

1.3單核和多核對比測試

為此,我們認(rèn)真分析不同系統(tǒng)中的CPU占用率。發(fā)現(xiàn)一個特點(diǎn):在Pipe-based Context Switching用例運(yùn)行期間,在得分高的環(huán)境中,兩個context線程基本上運(yùn)行在同一CPU上。而在得分低的環(huán)境中中,兩個context線程則更多的運(yùn)行在不同的CPU上。這說明:測試結(jié)果差異可能與Guest OS中的調(diào)度算法及CPU負(fù)載均衡策略有關(guān)。

我們不得不啟用了排除法,先看單核和多核之間的差異。

為了驗證猜想是否正確,我們臨時修改了Guest OS中內(nèi)核調(diào)度算法。修改原理是:在喚醒線程時,不管其他CPU核是否空閑,優(yōu)先將被喚醒任務(wù)調(diào)度到當(dāng)前CPU中運(yùn)行。這樣的調(diào)度算法,其缺點(diǎn)是:被喚醒任務(wù)將不能立即運(yùn)行,必須等待當(dāng)前線程釋放CPU后才能獲得CPU,這將導(dǎo)致被喚醒線程的實(shí)時性較弱。

經(jīng)過測試,在打上了Linux內(nèi)核調(diào)度補(bǔ)丁的系統(tǒng)中,Pipe-based Context Switching在虛擬機(jī)和物理機(jī)上,得分大大提升。實(shí)際測試的結(jié)果如下:

指標(biāo)名稱 虛擬機(jī)A
Pipe-based Context Switching 530.2

很顯然,我們不能將上述補(bǔ)丁直接應(yīng)用到生產(chǎn)環(huán)境中,因為該補(bǔ)丁會影響任務(wù)運(yùn)行的實(shí)時性。因此我們將Linux內(nèi)核調(diào)度補(bǔ)丁回退,并修改“Pipe-based ContextSwitching”測試用例的代碼,強(qiáng)制將context線程綁定到CPU 0中運(yùn)行,這樣可以避免Guest OS中的調(diào)度算法及CPU負(fù)載均衡算法的影響。測試結(jié)果如下:

指標(biāo)名稱 虛擬機(jī)A 虛擬機(jī)B 虛擬機(jī)C
Pipe-based Context Switching 761.0 953.7 675.3

我們再次修改“Pipe-based Context Switching”測試用例的代碼,強(qiáng)制將context線程分別綁定到CPU 0和CPU 1中運(yùn)行,這樣也可以避免Guest OS中的調(diào)度算法及CPU負(fù)載均衡算法的影響。測試結(jié)果如下:

指標(biāo)名稱 虛擬機(jī)A 虛擬機(jī)B 虛擬機(jī)C
Pipe-based Context Switching 109.1 133.6 105.1

可以看到,應(yīng)用了新的“Pipe-basedContext Switching”補(bǔ)丁之后,所有測試結(jié)果都恢復(fù)了正常,離真相越來越近了。

2原因分析: CPU拓?fù)洳町悓?dǎo)致Unixbench分?jǐn)?shù)異常

通過前面針對“Pipe-based Context Switching”單實(shí)例用例的測試,帶給我們?nèi)缦乱蓡枺?/p>

為什么在該用例中,虛擬機(jī)B得分接近600,遠(yuǎn)高于虛擬機(jī)A、虛擬機(jī)C,甚至高于虛擬機(jī)A所在的物理機(jī)?

為了分析清楚該問題,我們分析了Pipe-based Context Switching用例, 這個用例的邏輯是:測試用例創(chuàng)建一對線程A/B,并創(chuàng)建一對管道A/B。線程A寫管道,線程B讀A管道;并且線程B寫B(tài)管道,線程A程讀B管道。兩個線程均同步執(zhí)行。

經(jīng)過仔細(xì)分析,虛擬機(jī)A和虛擬機(jī)B在該用例上的性能差異的根本原因是:在虛擬機(jī)環(huán)境下,底層Host OS向Guest OS透傳的cpu拓?fù)洳煌?,?dǎo)致虛擬機(jī)系統(tǒng)中的調(diào)度行為不一致, 最終引起很大的性能差異。其中虛擬機(jī)A是按照Host主機(jī)的實(shí)際情況,將真實(shí)的CPU拓?fù)鋫鬟f給Guest OS。而虛擬機(jī)B的主機(jī)則沒有將真實(shí)的物理主機(jī)CPU拓?fù)鋫鬟f給Guest OS。這會導(dǎo)致虛擬機(jī)內(nèi)所見到的CPU拓?fù)浜凸蚕韮?nèi)存布局有所不同。

在真實(shí)的物理服務(wù)器上,每個物理核會有各自的FLC和MLC,同一個Core上的CPU共享LLC。這樣的CPU拓?fù)湓试S同一Core上的CPU之間更積極的進(jìn)行線程遷移,而不損失緩存熱度,并且能夠提升線程運(yùn)行的實(shí)時性。這個特性,更利于視頻播放這類實(shí)時應(yīng)用場景。

下圖是虛擬機(jī)A和虛擬機(jī)B中看到的CPU視圖:

拓?fù)浣Y(jié)構(gòu)的差異地方在LLC的共享方式,虛擬機(jī)A使用的拓?fù)浣Y(jié)構(gòu)與物理機(jī)一致,同一個Core內(nèi)CPU共享LLC。而虛擬機(jī)B的配置是同一個Core內(nèi)CPU不共享LLC。不共享LLC的場景下,Linux將每個CPU在LLC層次的調(diào)度域設(shè)置為空。這樣,虛擬機(jī)B的Guest OS會認(rèn)為同一物理CPU內(nèi)的兩個超線程是兩個獨(dú)立的CPU,處于不同的域之間(這與實(shí)際的物理機(jī)配置不一致),因此其負(fù)載均衡策略會更保守一些。喚醒一個進(jìn)程時,內(nèi)核會為其選擇一個運(yùn)行的目標(biāo)CPU,linux的調(diào)度策略會考慮親和性(提高cache命中率)和負(fù)載均衡。在Linux 3.10這個版本下,內(nèi)核會優(yōu)先考慮親和性,親和性的目標(biāo)是優(yōu)先選取同一個調(diào)度域內(nèi)的CPU。虛擬機(jī)A共享LLC,所有的CPU都在同一個調(diào)度域內(nèi),內(nèi)核為其選擇的是同一調(diào)度域內(nèi)的空閑CPU。而虛擬機(jī)B因為LLC層次的調(diào)度域為空,在進(jìn)入親和性選擇時,無法找到同一個調(diào)度域內(nèi)的其它空閑CPU,這樣就直接返回了正在進(jìn)行喚醒操作的當(dāng)前CPU。

最終,在虛擬機(jī)B中,除了偶爾進(jìn)行的CPU域間負(fù)載均衡以外,兩個測試線程基本上會一直在同一個CPU上運(yùn)行。而虛擬機(jī)A的兩個進(jìn)程會并發(fā)的運(yùn)行在兩個不同的CPU上。

這一特征下的運(yùn)行時間軸如下:

虛擬機(jī)B場景引入的開銷是喚醒和等待運(yùn)行開銷,虛擬機(jī)A場景引入的開銷是喚醒和切換運(yùn)行開銷。

在正常的工作負(fù)載下面,進(jìn)程運(yùn)行的時間會遠(yuǎn)大于進(jìn)程切換的開銷,而Pipe-based Context Switching用例模擬的是一個極限場景,一個線程在喚醒對端到進(jìn)入睡眠之間只執(zhí)行很簡單的操作,實(shí)際等待運(yùn)行的開銷遠(yuǎn)小于切換運(yùn)行的開銷。

此外,在虛擬化場景下,兩種方式喚醒操作中也存在差異,在虛擬機(jī)A這個場景下,喚醒的開銷也遠(yuǎn)大于虛擬機(jī)B場景中的喚醒開銷。最終出現(xiàn)虛擬機(jī)B上該用例的得分遠(yuǎn)高于虛擬機(jī)A、虛擬機(jī)C,甚至高于物理機(jī)上的得分。

為了進(jìn)一步驗證我們的分析是否正確。我們在HOST OS中,分別向虛擬機(jī)A的GuestOS和虛擬機(jī)B的Guest OS按照不同方式傳遞CPU拓?fù)?。測試發(fā)現(xiàn):在同樣的CPU拓?fù)浣Y(jié)構(gòu)下,二者的測試分?jǐn)?shù)是一致的。換句話說,導(dǎo)致該項測試分?jǐn)?shù)差異的原因,在于不同的HOST OS向Guest OS傳遞的CPU拓?fù)浯嬖诓町?,進(jìn)而導(dǎo)致Guest OS中任務(wù)調(diào)度行為的差異。

3 結(jié)論:Unixbench需要針對多核服務(wù)器和云環(huán)境進(jìn)行優(yōu)化

unixbench的Pipe-based Context Switching用例受操作系統(tǒng)調(diào)度算法的影響比較大。視操作系統(tǒng)多核負(fù)載均衡策略的差異,可能表現(xiàn)出兩種截然不同的效果:

1?在多核負(fù)載均衡策略不積極的系統(tǒng)中,測試線程更多的運(yùn)行在同一個CPU中,線程之間的切換開銷更低。因此測試得分更高,但是會導(dǎo)致系統(tǒng)中任務(wù)調(diào)度延遲。在實(shí)時性要求比較高的系統(tǒng)中,這會引起業(yè)務(wù)抖動。例如,在視頻播放、音頻處理的業(yè)務(wù)環(huán)境中,這可能引起視頻卡頓、音頻視頻不同步等問題。

2?在多核負(fù)載均衡策略更積極的系統(tǒng)中,測試線程更多的運(yùn)行在不同的CPU中,線程之間的切換開銷更高。因此測試分值更低,但是系統(tǒng)中任務(wù)調(diào)度延遲更低,業(yè)務(wù)的性能不容易產(chǎn)生波動。

換句話說:當(dāng)前的Unixbench已不能真實(shí)地反映被測系統(tǒng)的真實(shí)性能,需要針對多核服務(wù)器和云計算環(huán)境進(jìn)行完善。

4 修改建議

我們建議調(diào)整unixbench測試用例,將測試用例的線程綁定到Guest OS的CPU上。這樣就可以避免受到Guest OS調(diào)度策略和CPU負(fù)載均衡策略的影響。具體來說,有兩種方法:

1?將context1和context2兩個線程綁定在同一個CPU核上面。這樣可以反應(yīng)出被測試系統(tǒng)在單核上的執(zhí)行性能。

2?將context1和context2兩個線程分別綁定到不同CPU核上面。這樣可以反應(yīng)出被測試系統(tǒng)在單核的執(zhí)行性能,以及多核之間的核間通信性能。

(完)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10807

    瀏覽量

    210852
  • 云計算
    +關(guān)注

    關(guān)注

    39

    文章

    7704

    瀏覽量

    137119
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8965

    瀏覽量

    85087

原文標(biāo)題:燕青: Unixbench 測試套件缺陷深度分析

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CYT2B7 SFlash被異常修改的原因

    0x17001C00 ~ 0x17006FFF這段區(qū)域,芯片處理Normal模式下,是否可被異常篡改呢? 請各位專家?guī)兔?b class='flag-5'>分析下,SFlash被異常修改的可能原因
    發(fā)表于 05-28 08:11

    【NanoPi NEO試用體驗】利用unixbench進(jìn)行性能評估

    ,是比較通用的測試VPS性能的工具.UnixBench會執(zhí)行一系列的測試,包括2D和3D圖形系統(tǒng)的性能衡量,測試的結(jié)果不僅僅只是CPU,內(nèi)存,或者磁盤為基準(zhǔn),還取決于硬件,操作系統(tǒng)版本,編譯器.測試系統(tǒng)
    發(fā)表于 11-10 16:05

    產(chǎn)生Fault異常原因是什么? 如何分析Fault異常?

    產(chǎn)生Fault異常原因是什么?如何分析Fault異常?
    發(fā)表于 11-30 07:59

    導(dǎo)致STM32進(jìn)入HardFault異常原因

    1、導(dǎo)致異常原因有很多,例如:直接使用未分配空間的指針、棧溢出等異常非法操作便會使程序進(jìn)入“HardFault”異常狀態(tài)。接下來在MDK工
    發(fā)表于 01-07 06:52

    壓縮機(jī)異常響聲原因分析及處理

    本文通過對壓縮機(jī)異常響聲的原因分析理處理過程的描述.說明了因果分析法用于解決實(shí)際生產(chǎn)問題的科學(xué)性瑟實(shí)效性。
    發(fā)表于 05-23 14:12 ?11次下載

    CPU PG異常檢修

    CPU PG異常檢修 一、CPU PG信號示例圖              
    發(fā)表于 04-26 16:29 ?2360次閱讀
    <b class='flag-5'>CPU</b> PG<b class='flag-5'>異常</b>檢修

    導(dǎo)致致命異常錯誤和無效頁錯誤的原因是什么?

    導(dǎo)致致命異常錯誤和無效頁錯誤的原因是什么? 如果Microsoft Word或Excel“崩潰”,意味著在程序執(zhí)行過程中出現(xiàn)了嚴(yán)重的錯誤。操作系統(tǒng)常常會發(fā)現(xiàn)存在一個嚴(yán)重問題,并
    發(fā)表于 08-05 10:33 ?1003次閱讀

    導(dǎo)致變壓器溫度異常原因

    導(dǎo)致變壓器溫度異常原因:    1、內(nèi)部故障引起溫度異常    變壓器內(nèi)部故障如匝間短路或?qū)娱g短路,線圈對圍屏放電,內(nèi)部引
    發(fā)表于 12-05 14:49 ?1410次閱讀

    導(dǎo)致MCU出現(xiàn)功能嚴(yán)重異常的幾個原因分析

    我們在從事MCU應(yīng)用開發(fā)過程中,難免會碰到MCU芯片異常的問題。比如異常復(fù)位,表現(xiàn)為復(fù)位腳有電平跳變或者干脆處于復(fù)位電平;在做代碼調(diào)試跟蹤時,發(fā)現(xiàn)代碼往往進(jìn)不到用戶main()程序;或者時不時感覺芯片死掉了,功能完全不可控等。 針對類似嚴(yán)重
    發(fā)表于 11-29 16:10 ?1.2w次閱讀

    CPU 拓?fù)?/b>中的SMP架構(gòu)

    CPU 拓?fù)?/b>用來表示 CPU 在硬件層面的組合方式,本文主要講解 CPU 拓?fù)?/b>中的 SMP(Symmetric Multi-Processo
    的頭像 發(fā)表于 08-29 11:02 ?4322次閱讀

    分享排查Linux系統(tǒng)CPU占用的一個Shell腳本

    眾所周知,Linux系統(tǒng)CPU占用100%這個異常現(xiàn)象還是經(jīng)常遇到的,因此分析導(dǎo)致異常原因是解
    的頭像 發(fā)表于 09-04 09:17 ?1753次閱讀
    分享排查Linux系統(tǒng)<b class='flag-5'>CPU</b>占用的一個Shell腳本

    拓?fù)?/b>視圖與實(shí)際拓?fù)?/b>結(jié)構(gòu)間的差異

    簡介 拓?fù)?/b>視圖是硬件和網(wǎng)絡(luò)編輯器的三個工作區(qū)中的一個。在此處可執(zhí)行以下任務(wù): 顯示以太網(wǎng)拓?fù)?/b> 組態(tài)以太網(wǎng)拓?fù)?/b> 標(biāo)識出指定拓?fù)?/b>結(jié)構(gòu)與實(shí)際拓?fù)?/b>結(jié)
    的頭像 發(fā)表于 09-10 09:56 ?1046次閱讀
    <b class='flag-5'>拓?fù)?/b>視圖與實(shí)際<b class='flag-5'>拓?fù)?/b>結(jié)構(gòu)間的<b class='flag-5'>差異</b>

    Java oom異常原因分析

    據(jù),而棧內(nèi)存用于存儲方法調(diào)用和局部變量。 當(dāng)程序需要使用更多內(nèi)存時,會向操作系統(tǒng)請求更多的內(nèi)存空間。如果操作系統(tǒng)無法分配足夠的內(nèi)存空間,就會導(dǎo)致OOM異常的發(fā)生。 導(dǎo)致OOM異常
    的頭像 發(fā)表于 12-05 13:43 ?731次閱讀

    cpu溫度太高怎么解決?cpu溫度高的原因

    cpu溫度太高怎么解決?cpu溫度高的原因? CPU (中央處理器) 溫度過高可能會導(dǎo)致系統(tǒng)崩潰、性能下降甚至損壞硬件,因此是一個需要嚴(yán)肅對
    的頭像 發(fā)表于 12-09 16:15 ?2939次閱讀

    如何解決C語言中的“訪問權(quán)限沖突”異常?C語言引發(fā)異常原因分析

    如何解決C語言中的“訪問權(quán)限沖突”異常?C語言引發(fā)異常原因分析? 在C語言中,訪問權(quán)限沖突異常通常是由于嘗試訪問未授權(quán)的變量、函數(shù)或其他數(shù)據(jù)
    的頭像 發(fā)表于 01-12 16:03 ?4745次閱讀