是否為了乙個程式只占用了13%的cpu利用率而沾沾自喜呢?
別忘了現在是多核時代,四核,超執行緒的i7. 單個執行緒最多只能佔到12.5%的cpu利用率。
忘記這個簡單的cpu利用率吧,多核時代,你需要具體知道到每個執行緒的利用率。
這篇部落格,**乙個剛剛遇到的問題。
背景是我們正在針對windows media player開發一些東西,具體是什麼不重要。
我們遇到了兩個不同策略需要做抉擇,到底是哪乙個好呢?
如果使用任務管理器來看,處理同樣的任務,兩個策略的cpu使用率都差不多在35%上下,沒有太大的區別。(實驗的平台是個雙核超執行緒cpu)
但是如果使用更加高階的工具: windows performance analysis tools, 就能得到更多的資訊。
策略a的結果:
在這裡可以看到,wmplayer.exe的cpu使用率總共是33.62%, 但是其中有個執行緒3536的使用率佔到了24.34%. 對於雙核超執行緒而言,單執行緒最大佔到25%. 所以執行緒3536完全成為了系統的瓶頸,即使還有更多的cpu資源,windows media player都不可能跑的更快了。
策略b的結果:
可以看到,wmplayer.exe的cpu使用率為38.66, 還要略高於策略a.
但是,最高的單執行緒cpu使用率是13.46%,整個cpu的負載被平衡到了不同的執行緒中。整個系統中沒有明顯的瓶頸出現了。
孰優孰劣呢?
毫無疑問,策略b更好,windows media player有能力處理規模更大的問題。
至於windows performance analysis tool怎麼用,我就不多說了。外事不決問google.
最後,慣例。
話說賊不走空,對於那些不喜歡這篇部落格,又誤入的同學,至少下面的福利你會喜歡。
任務管理器
dim url systemutil.run e 20111108 20111108 chinese hedexlite.exe process name inputbox 請輸入程序名 程序 hedexlite process list dialog windows 任務管理器 winlistvi...
linux任務管理器
在redhat2.4.20 8下編譯通過 由於本程式視窗部分由glad工具編制,源 不易貼出,現只給出部分 函式的 1,退出 按鈕 函式 void on button9 clicked gtkbutton button,gpointer user data 2,關機 按鈕 函式 void on bu...
遮蔽「任務管理器」
適用於win nt 2k xp,引數key為true,遮蔽 任務管理器 為false,任務管理器 可用 使用方法 disabletaskmgr true procedure disabletaskmgr key boolean var reg tregistry begin reg tregistr...