當設計cvi程式時,會發現cvi程式占用cpu的資源很多。接下來討論下為何減少cpu的佔用率。
當程式執行runuserinte***ce()函式時,cvi的執行引擎處於乙個連續的迴圈中,等待系統事件。為了內部狀態有效,cvi需要處理
並分派這些事件。每次在這個迴圈中,根據使用者的休眠策略進入休眠狀態。雖然休眠越多,資源消耗越小,但正是這個迴圈在消耗
cpu資源。此外,我們接收到的事件越多,cpu資源消耗越多(滑鼠移動時cpu使用增加),開闢的執行緒越多,cpu資源消耗的越 多。
第乙個函式:
int setsleeppolicy (int sleeppolicy);
降低cpu使用的一種辦法是把休眠策略定為"更多休眠"。
sleeppolicy 1 不進入休眠
sleeppolicy 2 休眠少量時間
sleeppolicy 3
休眠大量時間 降低了程式檢查前面板事件的頻率,但是後台操作仍然以相同的速率執行
為了降低cpu使用率,還可以在whlie迴圈中不採用runuserinte***ce(),而是呼叫processsystemevents()。當你呼叫processsystemevents()函式,cvi執行乙個固定次數的迭代,迭代的次數更小,同時它同樣根據休眠策略休眠。總的說來,這個辦法將耗費更少的時間,並且對休眠策略更加敏感,並且主要的不同還在於它對系統事件(滑鼠移動,...)數目影響不大。所以
#include // 包含sleep函式
int gquit = 0; // 全域性變數,在呼叫quituserinte***ce時設定
while (!gquit)
這將有助於明顯降低cpu使用率。 檢視CPU佔用率
檢視系統cpu佔用率 在跑一些程式,例如deep learning的時候,總是希望檢視一下cpu gpu 記憶體的使用率 1.cpu 記憶體 使用top命令 top 有乙個更直觀的監測工具,叫htopsu doap t ge tins tall htop s ud oapt get inst all...
CPU測試 檢視cpu佔用率
一 使用命令adb shell top m 10 s cpu t 顯示程序名稱,s 按指定行排序,n 在退出前重新整理幾次,d 重新整理間隔,m 顯示最大數量 如下圖 引數含義 pid progressidentification,應用程式id s 程序的狀態,其中s表示休眠,r表示正在執行,z表示...
如何檢視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 ...