0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)WinCE檢測CPU負(fù)載及內(nèi)存占用介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-03 09:09 ? 次閱讀

通過CPU負(fù)載信息,可以判斷程序運(yùn)行環(huán)境是否穩(wěn)定,幫助分析程序中是否有死循環(huán),造成系統(tǒng)變慢。

通過內(nèi)存使用信息,可以評估程序內(nèi)存占用情況,幫助分析程序中是否有內(nèi)存泄漏的情況。

客戶在開發(fā)初期,可能經(jīng)常需要用到以上功能,英創(chuàng)提供一個(gè)簡單的例程實(shí)現(xiàn)以上功能。

CPU負(fù)載檢測

通過GetTickCount獲得系統(tǒng)時(shí)間讀數(shù),通過GetIdleTime獲得CPU空閑時(shí)間讀數(shù),通過計(jì)算它們之間的百分比,就可以獲得CPU的負(fù)載。代碼如下:
DWORD m_dwStartTick;
DWORD m_dwEndTick;
DWORD m_dwStartIdle;
DWORD m_dwEndIdle;
m_dwStartTick = GetTickCount();
m_dwStartIdle = GetIdleTime();
//Sleep(1000);
DWORD dwCpuIdle;
m_dwEndTick = GetTickCount();
m_dwEndIdle = GetIdleTime();
dwCpuIdle = ((100*(m_dwEndIdle - m_dwStartIdle)) / (m_dwEndTick - m_dwStartTick));
RETAILMSG(1, (L'CPU:%d%%\r\n', 100 - dwCpuIdle));

內(nèi)存占用檢測

CE中,內(nèi)存一部分分配給系統(tǒng)使用,一部分分配給用戶程序使用,這個(gè)分配的比例可以通過userinfo.txt配置文件中的Store字段來分配。
[SYSTEM]
Store='15'


這里的15表示內(nèi)存15%大小分配給系統(tǒng)使用,剩下85%分配給用戶程序使用。詳情請參考光盤《使用必讀》文檔。

通過函數(shù)GlobalMemoryStatus,可以獲得分配給用戶程序的內(nèi)存大?。ㄗ止?jié)為單位),及目前空余的大小。
MEMORYSTATUS memstatus;
GlobalMemoryStatus(&memstatus);
STORE_INFORMATION storeinfo;
GetStoreInformation(&storeinfo);
RETAILMSG(1, (L'MEM:%d%%\r\nuser: total%8dKB\r\n used%8dKB\r\n',
memstatus.dwMemoryLoad,memstatus.dwTotalPhys/1024,(memstatus.dwTotalPhys-memstatus.dwAvailPhys)/1024);
通過函數(shù)GetStoreInformation,可以獲得分配給系統(tǒng)的內(nèi)存大?。ㄗ止?jié)為單位),及目前空余的大小。
STORE_INFORMATION storeinfo;
GetStoreInformation(&storeinfo);
RETAILMSG(1, (L'system:total%8dKB\r\n used%8dKB\r\n\r\n',
storeinfo.dwStoreSize/1024, (storeinfo.dwStoreSize-storeinfo.dwFreeSize)/1024));
例程說明

運(yùn)行程序,程序會周期性讀取CPU占用率及內(nèi)存占用信息,顯示在界面中。

同時(shí)將信息打印到DEBUG調(diào)試串口,方便無顯示屏主板使用。

該程序不會占用太多CPU資源及內(nèi)存,可以放到后臺運(yùn)行。

例程及源碼已包含在最新的開發(fā)光盤中,客戶也可以聯(lián)系英創(chuàng)工程師獲得。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6081

    瀏覽量

    34942
收藏 人收藏

    評論

    相關(guān)推薦

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會暨解決方案應(yīng)用推廣大會。會上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?270次閱讀

    主板自檢cpu內(nèi)存燈一直來回閃

    當(dāng)你遇到主板自檢時(shí)CPU內(nèi)存燈一直來回閃爍的情況,這通常意味著硬件檢測過程中存在問題。這個(gè)問題可能涉及到多個(gè)方面,包括硬件故障、BIOS設(shè)置錯(cuò)誤、兼容性問題等。 1. 硬件故障 1.1 CP
    的頭像 發(fā)表于 09-02 14:38 ?888次閱讀

    如何檢測內(nèi)存泄漏

    檢測內(nèi)存泄漏是軟件開發(fā)過程中一項(xiàng)至關(guān)重要的任務(wù),它有助于識別和解決那些導(dǎo)致程序占用過多內(nèi)存資源,從而影響程序性能甚至導(dǎo)致程序崩潰的問題。以下將詳細(xì)闡述幾種常見的
    的頭像 發(fā)表于 07-30 11:50 ?462次閱讀

    mesh的內(nèi)存占用能否優(yōu)化?

    我測試到esp_mesh在開啟的情況下,即打開wifi和打開mesh,DRAM會占用大約130kb內(nèi)存。且測試發(fā)現(xiàn)esp32剩余內(nèi)存不足大約60kb的時(shí)候系統(tǒng)會重啟。這樣來說300KB內(nèi)存
    發(fā)表于 06-28 15:32

    龍芯中科三項(xiàng)信創(chuàng)方案入圍工信部2023年信息技術(shù)應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    近日,工業(yè)和信息化部通報(bào)了2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案征集遴選結(jié)果,本次共評選出典型解決方案173個(gè)、應(yīng)用示范案例83個(gè)、單項(xiàng)創(chuàng)新案例64個(gè)。
    的頭像 發(fā)表于 03-07 16:45 ?675次閱讀
    龍芯中科三項(xiàng)信<b class='flag-5'>創(chuàng)</b>方案入圍工信部2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    在MDK中使用RTT為什么內(nèi)存占用這么大?

    為什么在MDK中使用RTT ,內(nèi)存占用這么大?
    發(fā)表于 02-26 07:19

    基于飛騰CPU的機(jī)場安檢系統(tǒng)和航旅大模型榮獲信創(chuàng)民航賽道大獎

    近日,2023 信創(chuàng) “大比武” 活動頒獎總結(jié)大會在北京召開。中國工程院院士、信創(chuàng)工委會專家技術(shù)委員會副主任委員鄔江興,工業(yè)和信息化部信息技術(shù)
    的頭像 發(fā)表于 01-03 09:51 ?553次閱讀
    基于飛騰<b class='flag-5'>CPU</b>的機(jī)場安檢系統(tǒng)和航旅大模型榮獲信<b class='flag-5'>創(chuàng)</b>民航賽道大獎

    java中cpu占用過高如何分析

    Java中CPU占用過高是一種常見的問題,需要通過多種方法進(jìn)行分析和解決。本文將詳細(xì)介紹Java中CPU占用過高的原因以及如何進(jìn)行分析和優(yōu)化
    的頭像 發(fā)表于 12-05 11:15 ?7985次閱讀

    C++內(nèi)存管理問題

    寫服務(wù)端的,內(nèi)存是一個(gè)繞不過的問題,而用C++寫的,這個(gè)問題就顯得更嚴(yán)重。進(jìn)程的內(nèi)存持續(xù)上漲,有可能是正常的內(nèi)存占用,也有可能是內(nèi)存碎片,而
    的頭像 發(fā)表于 11-13 11:13 ?516次閱讀
    C++<b class='flag-5'>內(nèi)存</b>管理問題

    請問該如何測試單片機(jī)程序的負(fù)載率和內(nèi)存占用率?

    請問該如何測試單片機(jī)程序的負(fù)載率和內(nèi)存占用
    發(fā)表于 11-08 06:11

    開鴻智谷受邀參加2023軟件和信息技術(shù)服務(wù)業(yè)創(chuàng)新發(fā)展論壇

    10月18日,以“智薈雄安創(chuàng)想未來”為主題的雄安新區(qū)2023軟件和信息技術(shù)服務(wù)業(yè)創(chuàng)新發(fā)展論壇在雄安新區(qū)國際酒店會議中心召開。本次論壇以推動軟件和信息技術(shù)服務(wù)業(yè)創(chuàng)新發(fā)展為目的,邀行政校企各級單位共商共建。開鴻智
    的頭像 發(fā)表于 10-20 08:30 ?689次閱讀
    開鴻智谷受邀參加2023軟件和<b class='flag-5'>信息技術(shù)</b>服務(wù)業(yè)創(chuàng)新發(fā)展論壇

    枚舉變量占用多少內(nèi)存?

    枚舉變量占用多少內(nèi)存
    發(fā)表于 10-11 08:07

    Linux內(nèi)存占用分析

    內(nèi)存占用分析 每顆芯片在出廠時(shí),其bootrom就已經(jīng)固化在芯片內(nèi)部,假設(shè)bootrom的地址是0x0,即上電后,會從0x0地址處開始運(yùn)行程序。 在啟動RISC-VLinux之前,需要先運(yùn)行
    的頭像 發(fā)表于 10-08 10:38 ?667次閱讀
    Linux<b class='flag-5'>內(nèi)存</b><b class='flag-5'>占用</b>分析

    Windows不明內(nèi)存占用案例分析:Driver Locked

    前一段有客戶反映Windows系統(tǒng)下不明內(nèi)存占用越來越多,128GB物理內(nèi)存的主機(jī),啟動完成后就有大約一半的內(nèi)存占用,導(dǎo)致留給應(yīng)用的
    的頭像 發(fā)表于 09-25 14:49 ?1439次閱讀
    Windows不明<b class='flag-5'>內(nèi)存</b><b class='flag-5'>占用</b>案例分析:Driver Locked

    信息技術(shù)是干什么?

    廣播電子技術(shù)信息技術(shù)
    橙群微電子
    發(fā)布于 :2023年09月22日 09:17:48