CN103984634B - 一种linux服务器的内存非稳态压力测试方法 - Google Patents

一种linux服务器的内存非稳态压力测试方法 Download PDF

Info

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
Application number
CN201410246852.9A
Other languages
English (en)
Other versions
CN103984634A (zh
Inventor
李洋
任华进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410246852.9A priority Critical patent/CN103984634B/zh
Publication of CN103984634A publication Critical patent/CN103984634A/zh
Application granted granted Critical
Publication of CN103984634B publication Critical patent/CN103984634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种LINUX服务器的内存非稳态压力测试方法,属于计算机技术领域,该测试方法步骤如下:1)在Linux服务器部署Shell脚本,安装并运行memtester程序;2)计算测试参数3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,采用测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;4)故障处理:对有问题的内存进行维修与更换。本发明具有使用方便、测试效率高等特点。

Description

一种LINUX服务器的内存非稳态压力测试方法
技术领域
本发明涉及计算机技术领域,具体地说是一种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)故障处理:对有问题的内存进行维修与更换。
CN201410246852.9A 2014-06-05 2014-06-05 一种linux服务器的内存非稳态压力测试方法 Active CN103984634B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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