CN103984634B - 一种linux服务器的内存非稳态压力测试方法 - Google Patents
一种linux服务器的内存非稳态压力测试方法 Download PDFInfo
- Publication number
- CN103984634B CN103984634B CN201410246852.9A CN201410246852A CN103984634B CN 103984634 B CN103984634 B CN 103984634B CN 201410246852 A CN201410246852 A CN 201410246852A CN 103984634 B CN103984634 B CN 103984634B
- Authority
- CN
- China
- Prior art keywords
- test
- testing
- internal memory
- pressure
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 34
- 238000010998 test method Methods 0.000 title claims abstract description 9
- 238000012360 testing method Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000013515 script Methods 0.000 claims abstract description 11
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims abstract description 4
- 238000013024 troubleshooting Methods 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 101000854862 Homo sapiens Vacuolar protein sorting-associated protein 35 Proteins 0.000 description 2
- 102100020822 Vacuolar protein sorting-associated protein 35 Human genes 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Abstract
本发明公开了一种LINUX服务器的内存非稳态压力测试方法,属于计算机技术领域,该测试方法步骤如下:1)在Linux服务器部署Shell脚本,安装并运行memtester程序;2)计算测试参数3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,采用测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;4)故障处理:对有问题的内存进行维修与更换。本发明具有使用方便、测试效率高等特点。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种LINUX服务器的内存非稳态压力测试方法。
背景技术
随着内存技术的不断发展,单条内存的容量变得越来越大,在满足服务器业务日益增长的程序运行空间的同时,也使得我们检测内存性能与稳定的工作变得越来越繁琐。通常情况下,在业务计算量不大时,内存的存取效率和准确度是比较理想的。但随着访问服务器的用户越来越多,大量数据、指令通过内存与CPU的交互越来越频繁,对内存的压力也就越来越大,服务器的整体稳定性就会受到极大考验。但是我们在实际测试过程中,很难模拟用户现场真实的内存压力状况,因此很难进行快速定位与检测。
虽然目前也有较多的内存压力测试工具,但是大都针对Windows系统,极少的几款针对Linux系统的工具也因为安装麻烦、测试手段单一等缺点而少有人使用。
Shell是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
发明内容
本发明的技术任务是提供一种LINUX服务器的内存非稳态压力测试方法。
本发明的技术任务是按以下方式实现的,该测试方法步骤如下:
1)在Linux服务器部署Shell脚本,安装并运行memtester程序;
2)计算测试参数:复制MemTest2脚本文件至任意目录,赋予脚本文件可执行权限;
3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,后续进行分组、最小化的测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;
4)故障处理:对有问题的内存进行维修与更换。
所述的memtester程序运行时会首先读取当前LINUX服务器的剩余内存总量,读取内存剩余量取平均值;以其四倍值作为测试进程数,并将所有内存均分到每个进程上;先以满负荷运行,然后测试过程中将压力骤减为1/2,测试一段时间后再瞬间恢复高压力,检测内存在压力突变情况下的运行情况。
所述的memtester程序运行时会首先读取当前LINUX服务器的剩余内存总量,分三次读取内存剩余量取平均值。
本发明的一种LINUX服务器的内存非稳态压力测试方法和现有技术相比,具有以下特点:
1)非稳态测试,可实现压力的突变;
2)使用Shell脚本编写,通用性强,可跨平台测试;
3)自动计算最佳的测试参数,适应不同的测试环境;
4)多进程并发,测试效率高;
5)无残留文件,不会对系统造成影响。
附图说明
附图1为一种LINUX服务器的内存非稳态压力测试方法的流程图。
具体实施方式
实施例1:
该LINUX服务器的内存非稳态压力测试方法的步骤如下:
1)在Linux服务器部署Shell脚本,安装并运行memtester2程序;memtester2程序运行时会首先读取当前LINUX服务器的剩余内存总量,分三次读取内存剩余量取平均值;以其四倍值作为测试进程数,并将所有内存均分到每个进程上;先以满负荷运行,然后测试过程中将压力骤减为1/2,测试一段时间后再瞬间恢复高压力,检测内存在压力突变情况下的运行情况。
2)计算测试参数:复制MemTest2脚本文件至任意目录,比如/root目录等,赋予脚本文件可执行权限;
3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,后续进行分组、最小化的测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;
4)故障处理:对有问题的内存进行维修与更换。
memtester2脚本如下:
#!/bin/bash
echo "Calculating test parameters..."
CPU=`cat /proc/cpuinfo |grep process |wc -l`
MEM1=`free |grep Mem |awk '{print $4}'`
sleep 10
MEM2=`free |grep Mem |awk '{print $4}'`
sleep 10
MEM3=`free |grep Mem |awk '{print $4}'`
MEM=`echo "($MEM1+$MEM2+$MEM3)/3" |bc`
if (($MEM<129000000)) ;then ratio=995;fi
if (($MEM<33000000)) ;then ratio=985;fi
if (($MEM<9000000)) ;then ratio=965;fi
TEST_MEM=`echo "$MEM/1024*$ratio/1000" |bc`
PROC_NUM=`echo "$CPU*4" |bc`
PROC_MEM=`echo "$TEST_MEM/$PROC_NUM" |bc`
PROC_MEM_LOW=`echo "$PROC_MEM/2" |bc`
echo "Total $TEST_MEM MB of memory will be tested! Divided into $PROC_NUM processes."
sleep 1
echo "MemTest has be started! You can type killall memtester to stopall processes."
mkdir MemTest_Results >& /dev/null
while [ true ]
do
for i in $(seq $PROC_NUM)
do
{
memtester $PROC_MEM 1 >> MemTest_Results/process$i
}&
done
wait
for i in $(seq $PROC_NUM)
do
{
memtester $PROC_MEM_LOW 1 >> MemTest_Results/process$i
}&
done
wait
done
Claims (1)
1.一种LINUX服务器的内存非稳态压力测试方法,其特征在于,该测试方法步骤如下:
1)在Linux服务器部署Shell脚本,安装并运行memtester程序;
所述的memtester程序运行时会首先读取当前LINUX服务器的剩余内存总量,分三次读取内存剩余量取平均值;以平均值的四倍值作为测试进程数,并将所有内存均分到每个进程上;先以满负荷运行,然后测试过程中将压力骤减为1/2,测试一段时间后再瞬间恢复高压力,检测内存在压力突变情况下的运行情况;
2)计算测试参数:复制MemTest2脚本文件至任意目录,赋予脚本文件可执行权限;
3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,后续进行分组、最小化的测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;
4)故障处理:对有问题的内存进行维修与更换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410246852.9A CN103984634B (zh) | 2014-06-05 | 2014-06-05 | 一种linux服务器的内存非稳态压力测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410246852.9A CN103984634B (zh) | 2014-06-05 | 2014-06-05 | 一种linux服务器的内存非稳态压力测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103984634A CN103984634A (zh) | 2014-08-13 |
CN103984634B true CN103984634B (zh) | 2017-06-30 |
Family
ID=51276624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410246852.9A Active CN103984634B (zh) | 2014-06-05 | 2014-06-05 | 一种linux服务器的内存非稳态压力测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984634B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598344A (zh) * | 2015-02-03 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种基于shell的测试内存读写的方法 |
CN105243000A (zh) * | 2015-10-30 | 2016-01-13 | 浪潮电子信息产业股份有限公司 | 一种适用于多路服务器跨numa内存测试方法 |
CN108052412A (zh) * | 2017-12-28 | 2018-05-18 | 努比亚技术有限公司 | 重启故障定位方法、移动终端及计算机可读存储介质 |
CN108984358A (zh) * | 2018-07-18 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种服务器cpu压力测试的方法及装置 |
CN109144669A (zh) * | 2018-08-15 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种mcs系统下nas虚拟机系统的压力测试方法与系统 |
CN109086180B (zh) * | 2018-08-24 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种内存检验测试方法 |
CN111338860A (zh) * | 2020-02-14 | 2020-06-26 | 浪潮电子信息产业股份有限公司 | 一种内存监控方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214125A (zh) * | 2011-06-13 | 2011-10-12 | 浪潮电子信息产业股份有限公司 | 一种内存ecc功能的测试方法 |
CN103473158A (zh) * | 2013-09-18 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器的磁盘压力测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9727501B2 (en) * | 2011-10-31 | 2017-08-08 | Brocade Communications Systems, Inc. | SAN fabric online path diagnostics |
-
2014
- 2014-06-05 CN CN201410246852.9A patent/CN103984634B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214125A (zh) * | 2011-06-13 | 2011-10-12 | 浪潮电子信息产业股份有限公司 | 一种内存ecc功能的测试方法 |
CN103473158A (zh) * | 2013-09-18 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种Linux服务器的磁盘压力测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103984634A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103984634B (zh) | 一种linux服务器的内存非稳态压力测试方法 | |
CN103902442B (zh) | 一种云软件健康度评测方法及系统 | |
CN106325970A (zh) | 编译方法和编译系统 | |
CN103744759A (zh) | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN104375910A (zh) | 一种自动化开关机测试方法 | |
CN104360919A (zh) | 一种自动进行ssd性能、功能及稳定性测试的方法 | |
CN103984627A (zh) | 一种Linux服务器的内存压力测试方法 | |
CN103973515A (zh) | 一种网卡稳定性测试方法 | |
CN108920369A (zh) | 一种服务器压力测试方法、装置、设备及存储介质 | |
CN109933504B (zh) | 一种硬盘延迟测试方法、装置、终端及存储介质 | |
CN104391780A (zh) | 一种自动检验服务器电源冗余功能稳定性的方法 | |
EP3238068A1 (en) | Automatically rerunning test executions | |
CN108572895B (zh) | 一种Linux下自动检查软硬件配置的稳定性测试方法 | |
CN106528415A (zh) | 一种软件兼容性测试方法、业务平台及系统 | |
CN104573224A (zh) | 一种基于模型检测技术的复杂机电系统可靠性评估方法 | |
CN104598340A (zh) | 硬件故障的检测系统、电子装置及方法 | |
CN106095680A (zh) | 一种应用于Linux的验证磁盘乱序自动化测试方法 | |
US9645873B2 (en) | Integrated configuration management and monitoring for computer systems | |
US8850407B2 (en) | Test script generation | |
US7979238B2 (en) | System, method and computer program product for evaluating a test of an alternative system | |
CN111367737A (zh) | 一种优化内存性能测试的方法、装置 | |
CN110716875A (zh) | 一种国产办公环境下基于反馈机制的并发测试方法 | |
CN115757099A (zh) | 平台固件保护恢复功能自动测试方法和装置 | |
CN115480970A (zh) | 一种性能测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |