91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實戰開發經驗: 如何降低CPU占用率

發布時間:2020-08-16 08:55:00 來源:網絡 閱讀:15362 作者:Jhuster 欄目:開發技術

在軟件開發和性能測試中,CPU占用率是一個很重要的指標,到底有哪些因素會導致CPU占用率上升呢?又有哪些手段可以降低CPU的占用率呢?本文是“Jhuster的專欄”的《實戰開發經驗 》系列又一篇文章,簡單地總結了一下關于CPU占用率的那些事。


1. 如何測試CPU占用率?


首先,我們要學會如何測試程序的CPU占用率,這里簡單地給出最基礎的方法:


Windows上可以通過Ctrl+Alt+Del組合調出“任務管理器”,然后查看指定進程的詳細信息即可。


Linux/Android平臺,可以在命令行輸入:top 命令,找到指定進程即可。


注意,測試的時候,一般要分多組情況來測試,比如:空閑時、中等負荷運行時、高負荷運行時……


2. 有哪些因素導致CPU占用率上升?


(1) 復雜計算


運行一些算法處理,比如:音視頻編解碼、圖像處理、科學計算等等,特別是一些浮點數的運算。


(2) 持續占用CPU


某些高優先級的進程/線程持續占用CPU,很少或者從來不sleep,類似 while(1) {}


(3) 數據拷貝


頻繁進行大量的數據拷貝。


(4) 頻繁的系統調用


比如:頻繁調用 printf 打印、讀寫硬盤、網絡收發等等。


3. 有哪些手段可以降低CPU占用率?


(1) 硬件加速


常見的硬件加速有:多核計算、GPU、DMA、音視頻的硬件編解碼等,很多硬件加速功能需要平臺提供API或者驅動支持,在需要優化CPU占用率的時候可以重點關注一下。


(2) 學會“讓出”CPU


在程序中,有多種方法可以“讓出”CPU,第一種是 sleep,第二種是 await/signal 機制,任何編程語言都會有類似的接口。


另外,還有一種策略:適當降低你的進程/線程的優先級。


(3) 避免頻繁的數據拷貝


在多線程編程中,數據拷貝是難免的,但是完全可以通過一些技巧減少一些不必要的拷貝,心中要有這理念,編程時多留點心。


(4) 合并一些系統調用


很多時候,多次打印可以盡量合并到一起再打印、多次硬盤/網絡訪問請求也可以合并到一起再發送。


4. 小結


關于CPU占用率的那些事就介紹到這兒了,很多地方只是點到而止,并沒有完全展開,大家可以搜索相關的文章和資料做深度地優化和分析,有任何疑問或者建議歡迎留言或者來信lujun.hust@gmail.com交流,或×××博 @盧_俊 或×××ter)獲取最新的文章和資訊。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深圳市| 兰西县| 蓝山县| 察隅县| 古田县| 土默特右旗| 剑河县| 江都市| 专栏| 焦作市| 平陆县| 于田县| 会同县| 和田市| 新巴尔虎左旗| 海原县| 乌兰浩特市| 台北县| 新乡市| 巴青县| 张掖市| 辉南县| 光泽县| 洞头县| 韶山市| 宜春市| 普陀区| 浮梁县| 滨海县| 晋江市| 东辽县| 岳池县| 凌源市| 南投县| 大渡口区| 政和县| 乌什县| 天台县| 凤庆县| 乐亭县| 周口市|