1.一種CPU占用率檢測方法,其特征在于,所述CPU占用率檢測方法包括:
獲取當前檢測周期內(nèi)預(yù)設(shè)任務(wù)在CPU的第一執(zhí)行時長以及第一中斷時長;
在獲取到所述第一執(zhí)行時長以及第一中斷時長時,將所述第一執(zhí)行時長和所述第一中斷時長的差值,作為當前檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第一實際執(zhí)行時長;
獲取上一檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第二實際執(zhí)行時長,并基于所述第一實際執(zhí)行時長、所述第二實際執(zhí)行時長以及所述檢測周期,計算所述預(yù)設(shè)任務(wù)在所述CPU的執(zhí)行占用率。
2.如權(quán)利要求1所述的CPU占用率檢測方法,其特征在于,所述獲取當前檢測周期內(nèi)預(yù)設(shè)任務(wù)在CPU的第一執(zhí)行時長以及第一中斷時長的步驟包括:
在當前檢測周期內(nèi),基于所述預(yù)設(shè)任務(wù)每次切入所述CPU以及每次切出所述CPU的時間點計算所述預(yù)設(shè)任務(wù)的每次執(zhí)行時長,將當前檢測周期內(nèi)所述預(yù)設(shè)任務(wù)的每次執(zhí)行時長進行累加,并將累加的結(jié)果作為所述第一執(zhí)行時長;
基于所述預(yù)設(shè)任務(wù)每次到中斷例程的入口以及每次中斷例程到所述預(yù)設(shè)任務(wù)的出口的時間點計算中斷例程的每次執(zhí)行時長,將當前檢測周期內(nèi)中斷例程的每次執(zhí)行時長進行累加,并將累加的結(jié)果作為所述第一中斷時長。
3.如權(quán)利要求2所述的CPU占用率檢測方法,其特征在于,各時間點通過讀取所述CPU的時間戳計數(shù)器記錄。
4.如權(quán)利要求1或2所述的CPU占用率檢測方法,其特征在于,所述在獲取到所述第一執(zhí)行時長以及第一中斷時長時,將所述第一執(zhí)行時長和所述第一中斷時長的差值,作為當前檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第 一實際執(zhí)行時長的步驟之后,還包括:
獲取上一檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第二執(zhí)行時長以及第二中斷時長;
基于所述第一中斷時長、第二中斷時長以及所述檢測周期,計算所述預(yù)設(shè)任務(wù)在所述CPU的中斷占用率。
5.如權(quán)利要求4所述的CPU占用率檢測方法,其特征在于,所述基于所述第一中斷時長、第二中斷時長以及所述檢測周期,計算所述預(yù)設(shè)任務(wù)在所述CPU的中斷占用率的步驟之后,還包括:
累加各所述預(yù)設(shè)任務(wù)在所述CPU的中斷占用率,并將累加的結(jié)果作為中斷例程在所述CPU的執(zhí)行占用率。
6.一種CPU占用率檢測裝置,其特征在于,所述CPU占用率檢測裝置包括:
獲取模塊,用于獲取當前檢測周期內(nèi)預(yù)設(shè)任務(wù)在CPU的第一執(zhí)行時長以及第一中斷時長;
計算模塊,用于在獲取到所述第一執(zhí)行時長以及第一中斷時長時,將所述第一執(zhí)行時長和所述第一中斷時長的差值,作為當前檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第一實際執(zhí)行時長;
所述計算模塊還用于獲取上一檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第二實際執(zhí)行時長,并基于所述第一實際執(zhí)行時長、所述第二實際執(zhí)行時長以及所述檢測周期,計算所述預(yù)設(shè)任務(wù)在所述CPU的執(zhí)行占用率。
7.如權(quán)利要求6所述的CPU占用率檢測裝置,其特征在于,所述獲取模塊還用于在當前檢測周期內(nèi),基于所述預(yù)設(shè)任務(wù)每次切入所述CPU以及每次切出所述CPU的時間點計算所述預(yù)設(shè)任務(wù)的每次執(zhí)行時長,將當前檢測周期內(nèi)所述預(yù)設(shè)任務(wù)的每次執(zhí)行時長進行累加,并將累加的結(jié)果作為所述第一執(zhí)行時長;以及基于所述預(yù)設(shè)任務(wù)每次到中斷例程的入口以及每次中斷例程到所述預(yù)設(shè)任務(wù)的出口的時間點計算中斷例程的每次執(zhí)行時長,將當前檢測周期內(nèi)中斷例程的每次執(zhí)行時長進行累加,并將累加的結(jié)果作為所述第一中 斷時長。
8.如權(quán)利要求7所述的CPU占用率檢測裝置,其特征在于,各時間點通過讀取所述CPU的時間戳計數(shù)器記錄。
9.如權(quán)利要求6或7所述的CPU占用率檢測裝置,其特征在于,所述獲取模塊還用于獲取上一檢測周期內(nèi)所述預(yù)設(shè)任務(wù)在所述CPU的第二執(zhí)行時長以及第二中斷時長;
所述計算模塊還用于基于所述第一中斷時長、第二中斷時長以及所述檢測周期,計算所述預(yù)設(shè)任務(wù)在所述CPU的中斷占用率。
10.如權(quán)利要求9所述的CPU占用率檢測裝置,其特征在于,所述計算模塊還用于累加各所述預(yù)設(shè)任務(wù)在所述CPU的中斷占用率,并將累加的結(jié)果作為中斷例程在所述CPU的執(zhí)行占用率。