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

2021-09-04 02:03:06 字數 1113 閱讀 7236

在軟體開發和效能測試中,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) 硬體加速

(2) 學會「讓出」cpu

在程式中,有多種方法可以「讓出」cpu,第一種是 sleep,第二種是 await/signal 機制,任何程式語言都會有類似的介面。

另外,還有一種策略:適當降低你的程序/執行緒的優先順序。

(3) 避免頻繁的資料拷貝

在多執行緒程式設計中,資料拷貝是難免的,但是完全可以通過一些技巧減少一些不必要的拷貝,心中要有這理念,程式設計時多留點心。

(4) 合併一些系統呼叫

很多時候,多次列印可以盡量合併到一起再列印、多次硬碟/網路訪問請求也可以合併到一起再傳送。

4. 小結

WordPress降低占用CPU量的5個方法

今天晚上我收到主機方的郵件,提示我占用cpu太高,需要我在48小時內調整,如果不調整將會關閉我的 空間賬戶。我相信很多朋友也會遇到這樣的問題,一般海外主機都會有這樣的。雖然海外主機的空間容量和流量不受限制,但是如果超過cpu量也是會受限。那我們如何調整呢?下面我把自己採程式設計客棧用的5個方 法分享...

實戰CPU占用過高問題定位

網上學習了cpu 占用過高如何快速定位的方法後,根據現有的專案實戰一次。廢話不多說了,直接展示定位的問題的詳細步驟。服務部署在linux伺服器,定位問題的方法,主要也是使用相關的linux命令與jdk檢視堆疊,gc日誌等相關命令。1.問題發現 top 檢視當前伺服器各個程序執行占用cpu,記憶體等情...

如何檢視CPU 佔用率

以下是檢視cpu佔用率的乙個指令碼 export home arbsfr sfr entreprise sfre3 cpu record.sh and you can run it as below sh cpu record.sh bin sh usr ucb ps auxww grep cpu ...