開發板中的記憶體壓力測試,你瞭解多少?
1. 測試目的
記憶體壓力測試的目的是評估開發板中的記憶體子系統效能和穩定性,以確保它能夠滿足特定的應用需求。開發板通常用於嵌入式系統、物聯網裝置、嵌入式智慧家居等場景,這些場景對記憶體的要求通常比較高。
其記憶體壓力測試的主要目的有:
1. 對確定記憶體的可靠性:透過模擬高負載下的記憶體使用情況,可以檢測記憶體中的錯誤和問題,並確定開發板是否能夠在穩定的狀態下長時間執行。這有助於確保系統的可靠性和資料安全性。
2. 發現記憶體瓶頸:透過測試開發板在處理大量資料時的效能表現,可以評估記憶體訪問速度、吞吐量、響應時間等效能指標,並確定系統在處理大量資料時的效能瓶頸所在。這有助於確定系統的效能極限,並採取相應的最佳化措施。
3. 驗證記憶體相容性:不同型別的記憶體可能會影響開發板的效能和穩定性。透過記憶體壓力測試可以驗證不同型別的記憶體是否相容,以確保記憶體與開發板的相容性。
4. 測試系統容錯性:透過模擬異常情況下的記憶體使用情況,可以測試開發板在處理異常情況時的表現,並確定開發板能否在不影響資料完整性的情況下恢復正常工作。
2.1 測試結果
在使用記憶體壓力測試工具memtester測試記憶體72小時以上期間,未發現記憶體錯誤、異常等現象。記憶體模組在測試條件下穩定,迴圈測試中系統未出現無明顯示卡頓或崩潰現象。測試結果表明,系統能夠在長時間高負載佔用記憶體的工作環境下保持可靠性和穩定性,具有較高的抗壓能力。
2. 測試原理
2.1 memtester
Memtester是一種用於測試系統記憶體穩定性和可靠性的工具。它可以模擬各種記憶體負載情況,並檢測和報告記憶體錯誤。
Memtester可以在Linux和其他類Unix系統上執行,並可以透過命令列或指令碼進行控制。它可以測試記憶體的不同方面,包括記憶體容量、記憶體速度、記憶體型別、記憶體通道等。同時,它還可以測試系統的記憶體管理和記憶體分配機制,以確定系統是否能夠有效地管理和分配記憶體。
使用Memtester進行記憶體測試時,需要指定測試的記憶體容量和測試的時間長度。測試過程中,Memtester會在記憶體中模擬各種負載情況,例如寫入隨機資料、重複寫入相同資料、使用指定的模式寫入資料等。在測試過程中,Memtester會檢測記憶體中的錯誤,並將錯誤資訊記錄到日誌檔案中。
透過使用Memtester,可以有效地測試系統記憶體的穩定性和可靠性,以便確定系統是否能夠在各種負載情況下正常執行。測試結果可以幫助開發人員識別和解決記憶體相關的問題,並最佳化系統的記憶體效能。
圖3.1 演示程式
2.1.1 測試方法
memtester工具使用命令格式為memtester [-p 記憶體物理起始地址] [測試記憶體大小B/K/M/G] [測試次數]。
命令格式不是固定的,可以省略部分。
ⅰ. 省略測試次數,則連續進行測試,直到手動結束
ⅱ. 省略記憶體物理起始地址,則由系統隨機選擇空閒記憶體測試
b. 使用方法
ⅰ. 對1G記憶體測試100次
./memtester 1G 100
ⅱ. 對2G記憶體進行連續測試
./memtester 1G 100
ⅲ. 從0x00010000地址開始測試1G記憶體100次
./memtester -p 0x10000 1G 100
3. 硬體準備
HD-G2L-IOT V2.2底板、HD-G2L-CORE V2.0核心板(2GB+8GB)、網線、Type-c資料線、12V電源介面卡、UART模組、電腦主機。
4. 測試環境
圖5.1 測試環境
5. 開始記憶體壓力測試
根據測試目的,執行測試程式,申請1G記憶體大小,連續執行測試72小時以上。
圖6.1
圖6.2 影片播放
如圖6.1所示,編寫測試指令碼執行memtester測試程式後先檢測是否存在memtester程式,若有則殺掉程式,若無則根據使用者輸入時間校準評估板時間,最後輸入測試時長(秒)開始記憶體壓力測試,達到測試時長則結束測試。
6. 結束記憶體壓力測試
圖7.1
圖7.2
圖7.3
圖7.4 執行情況
如圖7.1圖7.2圖7.3所示,memtester程式在執行了72小時30分鐘後仍在執行測試,說明在此測試期間,持續高強度負載下,系統整體表現穩定,無明顯示卡頓或崩潰現象。記憶體壓力測試159次後仍能夠保持在穩定的水平。測試結果表明,系統能夠在長時間記憶體壓力測試的工作環境下保持可靠性和穩定性,具有較高的抗壓能力。
7. 關於HD-G2L-IOT
7.1 硬體引數
HD-G2L-IOT板載的外設功能:
-
整合2路10M/100M/1000M自適應乙太網介面
-
整合Wi-Fi
-
整合2路RS-232介面
-
整合2路RS-485介面
-
整合2路CAN-bus介面
-
整合2路USB Host
-
整合1路USB擴充套件4G模組介面(整合SIM卡介面)
-
整合1路USB擴充套件5G模組介面(整合SIM卡介面)
-
支援1路TF卡介面
-
支援液晶顯示介面(RGB訊號)
-
支援4線電阻觸控式螢幕與電容屏介面
-
1路MIPI DSI介面
-
1路攝像頭介面(MIPI CSI)
-
支援音訊(耳機、MiC、SPK)
-
支援實時時鐘與後備電池
-
支援蜂鳴器與板載LED
-
支援GPIO
-
1路TTL除錯串列埠
-
直流+12V電源供電(寬壓9~36V)
HD-G2L-CORE核心板硬體資源引數:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009145/viewspace-2939664/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- webGL 緩解記憶體壓力Web記憶體
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告
- 測試開發:你所需要掌握瞭解的效能測試知識
- .NET中的字串你瞭解多少?字串
- 記憶體壓力及IO壓力調整方法記憶體
- 直播系統開發中關於開發環境你瞭解多少?開發環境
- 武漢永珍奧科:記憶體壓力測試工具memtester使用指南記憶體
- Python常用的web開發工具,你瞭解多少?PythonWeb
- 軟體壓力測試怎麼做?出具壓力測試報告軟體測評中心測試報告
- 杭州測試開發,普通大頭兵的天花板是多少?
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- 開源的負載測試/壓力測試工具 NBomber負載
- 從 0 到 1 開發壓力測試框架: Python 基礎,壓測框架開發框架Python
- 你真的瞭解Java記憶體模型JMM嗎?Java記憶體模型
- 華為開發區塊鏈壓力測試技術區塊鏈
- 如何對你Mac進行壓力測試?Mac
- ORACLE壓力測試Oracle
- laravel壓力測試Laravel
- MACOSXApacheab壓力測試MacApache
- NGINX壓力測試Nginx
- mysqlslap壓力測試MySql
- 壓力測試工具
- JavaScript 中對記憶體的一些瞭解JavaScript記憶體
- apache-ab 壓力測試詳解Apache
- 介面測試,負載測試,併發測試,壓力測試區別負載
- 併發網站壓力測試工具網站
- 軟體產品為什麼要做壓力測試?壓力測試報告如何獲取?測試報告
- 軟體壓力測試知識分享,2022好用壓力測試工具有哪些?
- GO 語言的併發模式你瞭解多少?Go模式
- 遊戲記憶體測試遊戲記憶體
- 關於壓力測試中 TPS 和併發數的思考
- 你瞭解Java記憶體模型麼(Java7、8、9記憶體模型的區別)Java記憶體模型
- 軟體測試知識儲備:關於「登入安全」的基礎知識,你瞭解多少?
- 虛擬記憶體系統——瞭解記憶體的工作原理記憶體
- 關於持久記憶體(PMem)你知道多少?記憶體
- 瞭解 JavaScript 應用程式中的記憶體洩漏JavaScript記憶體
- nginx壓力測試方法:Nginx
- 壓力測試指令碼指令碼