内存压力测试的目的是评估开发板中的内存子系统性能和稳定性,以确保它能够满足特定的应用需求。开发板通常用于嵌入式系统、物联网设备、嵌入式智能家居等场景,这些场景对内存的要求通常比较高。
其内存压力测试的主要目的有:
1.对确定内存的可靠性:通过模拟高负载下的内存使用情况,可以检测内存中的错误和问题,并确定开发板是否能够在稳定的状态下长时间运行。这有助于确保系统的可靠性和数据安全性。
2.发现内存瓶颈:通过测试开发板在处理大量数据时的性能表现,可以评估内存访问速度、吞吐量、响应时间等性能指标,并确定系统在处理大量数据时的性能瓶颈所在。这有助于确定系统的性能极限,并采取相应的优化措施。
3.验证内存兼容性:不同类型的内存可能会影响开发板的性能和稳定性。通过内存压力测试可以验证不同类型的内存是否兼容,以确保内存与开发板的兼容性。
4.测试系统容错性:通过模拟异常情况下的内存使用情况,可以测试开发板在处理异常情况时的表现,并确定开发板能否在不影响数据完整性的情况下恢复正常工作。
2.1测试结果
在使用内存压力测试工具memtester测试内存72小时以上期间,未发现内存错误、异常等现象。内存模块在测试条件下稳定,循环测试中系统未出现无明显卡顿或崩溃现象。测试结果表明,系统能够在长时间高负载占用内存的工作环境下保持可靠性和稳定性,具有较高的抗压能力。
2.1memtester
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
HD-G2L-IOT V2.2底板、HD-G2L-CORE V2.0核心板(2GB+8GB)、网线、Type-c数据线、12V电源适配器、UART模块、电脑主机。
图5.1 测试环境
根据测试目的,运行测试程序,申请1G内存大小,连续运行测试72小时以上。
图6.1
图6.2 视频播放
如图6.1所示,编写测试脚本运行memtester测试程序后先检测是否存在memtester进程,若有则杀掉进程,若无则根据用户输入时间校准评估板时间,最后输入测试时长(秒)开始内存压力测试,达到测试时长则结束测试。
图7.1
图7.2
图7.3
图7.4 运行情况
如图7.1图7.2图7.3所示,memtester程序在运行了72小时30分钟后仍在运行测试,说明在此测试期间,持续高强度负载下,系统整体表现稳定,无明显卡顿或崩溃现象。内存压力测试159次后仍能够保持在稳定的水平。测试结果表明,系统能够在长时间内存压力测试的工作环境下保持可靠性和稳定性,具有较高的抗压能力。
7.1硬件参数
HD-G2L-IOT板载的外设功能:
HD-G2L-CORE核心板硬件资源参数:
全部0条评论
快来发表一下你的评论吧 !