测试目的
内存压力测试的目的是测试系统内存的稳定性和可靠性,以便确定系统是否能够在各种负载情况下正常运行。其主要目的有:
测试内存的正确性:通过模拟各种内存负载情况,例如写入随机数据、重复写入相同数据、使用指定的模式写入数据等,并检测和报告内存错误。
测试内存的性能:通过测试系统在处理大量数据时的内存访问速度、吞吐量、响应时间等性能指标,并发现内存瓶颈和性能极限。
测试内存的兼容性:通过测试不同类型的内存是否兼容,以确保内存与开发板或其他设备的兼容性。
本文将使用武汉万象奥科HD-G2UL-GW系列网关对内存进行72小时的压力测试,以此来验证系统的稳定性。
图1 HD-G2UL-GW
测试结果
使用memtester 工具对HD-G2UL-GW系列网关进行内存压力测试,平均一次测试耗时12分钟,测试72小时,循环测试360次。测试过程中,系统稳定运行,未出现内存故障,未见输出异常项目。
图2 测试结果
测试工具
memtester是一款比较经典而且使用广泛的内存检测工具,具备使用简单、易于移植、检测结果可靠性好的特点,支持32位和64位的类Unix系统(Unix、Linux、Android、IOS)上使用。memtester主要支持的功能包括:
捕捉内存错误,及长时间处于高位或低位的内存坏位
支持多项测试,随机值、异或比较、异或运算、乘法、除法、减法
可指定测试内存起始地址、内存大小以及测试次数
memtester工具使用命令格式为memtester [-p 内存物理起始地址] [测试内存大小B/K/M/G] [测试次数]。命令格式不是固定的,可以省略部分。
省略测试次数,则连续进行测试,直到手动结束
省略内存物理起始地址,则由系统随机选择空闲内存测试
测试过程
硬件准备
HD-G2UL-GW评估板、网线、Type-c数据线、5V电源适配器、电脑主机。
登入开发板
正确配置并连接评估板,通电进入登陆页面,将memtester工具拷入至开发板(TF卡或U盘拷贝),给予可执行权限。
图3给予memtester可执行权限
执行测试
使用free命令查看可用内存大小,并根据内存大小执行./memtester 300 360
参数:
300:测试内存大小
360:测试次数
通过给定测试内存的大小和次数, 可以对系统现有的内存进行测试。
图4 执行测试
关于HD-G2UL-GW
HD-G2UL-GW系列网关采用单核工业级Cortex-A55@1.0GHz处理器,支持双路千兆网口,搭载WIFI&蓝牙模组。该网关体积小巧、接口丰富,适合于数据网关、边缘计算的应用场景。
处理器:多核异构,Cortex-A55@1.0GHz+ Cortex-M33@200M
配置:512M/1G内存+8G存储
系统:Linux、Ubuntu,支持node-red、二次开发
尺寸:115 mm*101mm*36mm
RS485:4路
网口:2路千兆
无线通信:4G、WIFI、蓝牙
图5 HD-G2UL-GW系列网关
|