CVI減少CPU佔用率

2021-07-24 11:31:19 字數 858 閱讀 6842

當設計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 ...