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

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

Info

Publication number
CN103984634A
CN103984634A CN201410246852.9A CN201410246852A CN103984634A CN 103984634 A CN103984634 A CN 103984634A CN 201410246852 A CN201410246852 A CN 201410246852A CN 103984634 A CN103984634 A CN 103984634A
Authority
CN
China
Prior art keywords
test
memory
server
linux server
pressure
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.)
Granted
Application number
CN201410246852.9A
Other languages
English (en)
Other versions
CN103984634B (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

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

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 stop all 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 (3)

1.一种LINUX服务器的内存非稳态压力测试方法,其特征在于,该测试方法步骤如下:
1)在Linux服务器部署Shell脚本,安装并运行memtester程序;
2)计算测试参数:复制MemTest2脚本文件至任意目录,赋予脚本文件可执行权限;
3)开始测试:如果在压力测试过程中机器出现死机、重启等问题,说明服务器的内存通道可能存在异常,后续进行分组、最小化的测试方法定位故障;如果测试过程中没出现问题,测试完成后会在MemTest所在的目录生成测试报告目录MemTest_result,包含每个进程的测试情况、每个项目的检测结果;检查服务器的系统日志、IPMI日志,查看有无相关报错;
4)故障处理:对有问题的内存进行维修与更换。
2.根据权利要求1所述的一种LINUX服务器的内存非稳态压力测试方法,其特征在于,所述的memtester程序运行时会首先读取当前LINUX服务器的剩余内存总量,读取内存剩余量取平均值;以其四倍值作为测试进程数,并将所有内存均分到每个进程上;先以满负荷运行,然后测试过程中将压力骤减为1/2,测试一段时间后再瞬间恢复高压力,检测内存在压力突变情况下的运行情况。
3.  根据权利要求2所述的一种LINUX服务器的内存非稳态压力测试方法,其特征在于,所述的memtester程序运行时会首先读取当前LINUX服务器的剩余内存总量,分三次读取内存剩余量取平均值。
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 true CN103984634A (zh) 2014-08-13
CN103984634B 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)

Cited By (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压力测试的方法及装置
CN109086180A (zh) * 2018-08-24 2018-12-25 郑州云海信息技术有限公司 一种内存检验测试方法
CN109144669A (zh) * 2018-08-15 2019-01-04 郑州云海信息技术有限公司 一种mcs系统下nas虚拟机系统的压力测试方法与系统
CN111338860A (zh) * 2020-02-14 2020-06-26 浪潮电子信息产业股份有限公司 一种内存监控方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214125A (zh) * 2011-06-13 2011-10-12 浪潮电子信息产业股份有限公司 一种内存ecc功能的测试方法
US20130111077A1 (en) * 2011-10-31 2013-05-02 Brocade Communications Systems, Inc. San fabric online path diagnostics
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214125A (zh) * 2011-06-13 2011-10-12 浪潮电子信息产业股份有限公司 一种内存ecc功能的测试方法
US20130111077A1 (en) * 2011-10-31 2013-05-02 Brocade Communications Systems, Inc. San fabric online path diagnostics
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法

Cited By (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虚拟机系统的压力测试方法与系统
CN109086180A (zh) * 2018-08-24 2018-12-25 郑州云海信息技术有限公司 一种内存检验测试方法
CN111338860A (zh) * 2020-02-14 2020-06-26 浪潮电子信息产业股份有限公司 一种内存监控方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103984634B (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN103984634A (zh) 一种linux服务器的内存非稳态压力测试方法
CN108923952B (zh) 基于服务监控指标的故障诊断方法、设备及存储介质
CN108388489B (zh) 一种服务器故障诊断方法、系统、设备及存储介质
CN106326067B (zh) 一种在压力测试下对cpu性能进行监控的方法及装置
CN103984627A (zh) 一种Linux服务器的内存压力测试方法
CN111459700A (zh) 设备故障的诊断方法、诊断装置、诊断设备及存储介质
CN104375910A (zh) 一种自动化开关机测试方法
CN104360919A (zh) 一种自动进行ssd性能、功能及稳定性测试的方法
CN109933504B (zh) 一种硬盘延迟测试方法、装置、终端及存储介质
CN113931258B (zh) 自我诊断方法和无负压叠压供水设备
CN108920369A (zh) 一种服务器压力测试方法、装置、设备及存储介质
CN110891000B (zh) 一种gpu带宽性能的检测方法、系统及相关装置
CN104598340A (zh) 硬件故障的检测系统、电子装置及方法
CN104391780A (zh) 一种自动检验服务器电源冗余功能稳定性的方法
CN103150250A (zh) 应用程序性能检测系统和应用程序性能检测方法
CN108572895B (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
CN110262959A (zh) 底层服务压力测试方法、装置、电子设备及存储介质
CN106528415A (zh) 一种软件兼容性测试方法、业务平台及系统
US9645873B2 (en) Integrated configuration management and monitoring for computer systems
CN103324600B (zh) 运行计算模块的系统及其运行方法
CN116521414A (zh) 故障代码定位方法、云端服务器、系统及存储介质
WO2013151782A1 (en) Detection and classification of failures of power generating equipment during transient conditions
US7979238B2 (en) System, method and computer program product for evaluating a test of an alternative system
EP3958124B1 (en) Flight management system and method for reporting an intermitted error
CN110457183A (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