通過CPU負(fù)載信息,可以判斷程序運行環(huán)境是否穩(wěn)定,幫助分析程序中是否有死循環(huán),造成系統(tǒng)變慢。
通過內(nèi)存使用信息,可以評估程序內(nèi)存占用情況,幫助分析程序中是否有內(nèi)存泄漏的情況。
客戶在開發(fā)初期,可能經(jīng)常需要用到以上功能,英創(chuàng)提供一個簡單的例程實現(xiàn)以上功能。
CPU負(fù)載檢測
通過GetTickCount獲得系統(tǒng)時間讀數(shù),通過GetIdleTime獲得CPU空閑時間讀數(shù),通過計算它們之間的百分比,就可以獲得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)使用,一部分分配給用戶程序使用,這個分配的比例可以通過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));
例程說明
運行程序,程序會周期性讀取CPU占用率及內(nèi)存占用信息,顯示在界面中。
同時將信息打印到DEBUG調(diào)試串口,方便無顯示屏主板使用。
該程序不會占用太多CPU資源及內(nèi)存,可以放到后臺運行。
例程及源碼已包含在最新的開發(fā)光盤中,客戶也可以聯(lián)系英創(chuàng)工程師獲得。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35614
發(fā)布評論請先 登錄
相關(guān)推薦
龍芯中科榮獲2024年度信息技術(shù)應(yīng)用創(chuàng)新工作委員會卓越貢獻成員單位
芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會卓越貢獻成員單位
飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕
有方科技參編的信息技術(shù)團體標(biāo)準(zhǔn)發(fā)布
龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦
如何檢測電腦的RAM內(nèi)存
中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)
服務(wù)器cpu占用率高怎么解決
梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單
主板內(nèi)存故障燈亮?xí)?b class='flag-5'>cpu的問題嗎
主板自檢cpu和內(nèi)存燈一直來回閃
如何檢測內(nèi)存泄漏
mesh的內(nèi)存占用能否優(yōu)化?
龍芯中科三項信創(chuàng)方案入圍工信部2023年信息技術(shù)應(yīng)用創(chuàng)新應(yīng)用示范案例名單
![龍芯中科三項信<b class='flag-5'>創(chuàng)</b>方案入圍工信部2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新應(yīng)用示范案例名單](https://file1.elecfans.com/web2/M00/C3/19/wKgZomXpfwWAT16RAABpz-I0EpY201.png)
評論