一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多路服务器CPU内存压力测试方法、系统及存储介质与流程

2022-08-28 03:59:58 来源:中国专利 TAG:
多路服务器cpu内存压力测试方法、系统及存储介质
技术领域
:1.本技术涉及服务器部件的压力测试
技术领域
:,具体涉及多路服务器cpu内存压力测试方法、系统及存储介质。
背景技术
::2.双路服务器,就是服务器上面有两个物理cpu,和单路、多路的概念是一致的,只是cpu的数量不同。一般来说,cpu的个数越多,性能也随之增加,多线程服务器的性能会更高,因此它们之间的关系就是单路小于双路,而双路小于多路。服务器采用高端芯片,有很高的性能,被广泛应用于大数据、虚拟化、云计算、分布式存储等多个应用场景和服务中心,为了支持企业发展和转型,服务器不断升级,创造出强算力、高并发的计算能力,打造出高性能、灵活性强、安全性高的用户体验度。3.目前,随着服务器产品硬件的不断升级,arm服务器的cpu问题越来越突出,尤其是产生一些不可纠正的问题会对服务器的运行造成严重影响,ue(uncorrectableerror)错误发生后,影响设备功能与性能,硬件不能自动恢复,cpu作为服务器的大脑,这种问题就更为严重,因此必须在服务器出厂前将这种异常排查并拦截下来。cpu的ue问题是概率问题,在服务器整机工厂制造生产测试过程中,通过短时间的老化测试,无法充分暴露这种问题并拦截。因此,亟需一种尽量快速的测试方法来暴露拦截这种问题。技术实现要素:4.为了解决上述
背景技术
:中提到的至少一个问题,本技术提供了一种多路服务器cpu内存压力测试方法、系统及存储介质,通过增加服务器的两路cpu之间的调度,增大了出现问题的概率,从而增大了暴露cpu中出现ue问题的概率,以达到快速发现并拦截cpu的ue问题的目的。5.本技术实施例提供的具体技术方案如下:6.第一方面,一种多路服务器cpu内存压力测试方法,应用于待测服务器,所述方法包括:7.查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;8.启动第一内存压力测试进程,根据所述第一处理器信息将对第一处理器内存进行的所述第一内存压力测试进程绑定到第二处理器核上;9.启动第二内存压力测试进程,根据所述第二处理器信息将对第二处理器内存进行的所述第二内存压力测试进程绑定到第一处理器核上;10.判断处理器运行过程中是否出现异常,生成测试结果。11.在一个具体的实施例中,在所述查询待测服务器的处理器参数之前,还包括:12.获取内存压力测试安装包,安装内存压力测试工具,以用于内存压测。13.在一个具体的实施例中,所述查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息,具体包括:14.统计所述待测服务器的计算内存资源参数,得到服务器内存;15.统计所述待测服务器的处理器资源参数,得到处理器数量与核数信息;16.基于所述处理器数量与核数信息,得到第一处理器信息和第二处理器信息。17.在一个具体的实施例中,所述启动第一内存压力测试进程,之后包括:18.根据所述服务器内存,设置测试内存容量为可使用服务器内存的一半;19.自行设置测试循环数,并生成测试命令。20.在一个具体的实施例中,根据所述第一处理器信息将对所述第一处理器内存进行的所述第一内存压力测试进程绑定到所述第二处理器核上,具体包括:21.查询所述第一内存压力测试进程的进程号;22.通过输入指令将所述第一内存压力测试进程的进程号对向绑定到所述第二处理器核上;23.启动对第一处理器进行的第一内存压力测试进程。24.在一个具体的实施例中,判断处理器运行过程中是否出现异常,生成测试结果,具体包括:25.判断处理器运行过程中是否出现重启或者关机;26.若出现重启或者关机,则生成测试结果为异常;27.若未出现重启或者关机,则生成测试结果为正常。28.在一个具体的实施例中,当生成测试结果为异常之后,还包括:29.等待所述第一内存压力测试进程和所述第二内存压力测试进程运行结束;30.查询测试运行日志和/或pci设备信息中是否出现错误关键字信息;31.若出现错误关键字信息,则拦截所述待测服务器;32.若未出现错误关键字信息,则不拦截所述待测服务器。33.第二方面,一种服务器cpu内存压力测试系统,所述系统包括:34.信息查询模块,所述信息查询模块用于查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;35.第一测试模块,所述第一测试模块用于启动第一内存压力测试进程,根据所述第一处理器信息将对所述第一处理器内存进行的所述第一内存压力测试进程绑定到所述第二处理器核上;36.第二测试模块,所述第二测试模块用于启动第二内存压力测试进程,根据所述第二处理器信息将对所述第二处理器内存进行的所述第二内存压力测试进程绑定到所述第一处理器核上;37.判断模块,所述判断模块用于判断处理器运行过程中是否出现异常,生成测试结果。38.第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:39.步骤a:查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;40.步骤b:启动第一内存压力测试进程,根据所述第一处理器信息将对所述第一处理器内存进行的所述第一内存压力测试进程绑定到所述第二处理器核上;41.步骤c:启动第二内存压力测试进程,根据所述第二处理器信息将对所述第二处理器内存进行的所述第二内存压力测试进程绑定到所述第一处理器核上;42.步骤d:判断处理器运行过程中是否出现异常,生成测试结果。43.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:44.步骤a:查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;45.步骤b:启动第一内存压力测试进程,根据所述第一处理器信息将对所述第一处理器内存进行的所述第一内存压力测试进程绑定到所述第二处理器核上;46.步骤c:启动第二内存压力测试进程,根据所述第二处理器信息将对所述第二处理器内存进行的所述第二内存压力测试进程绑定到所述第一处理器核上;47.步骤d:判断处理器运行过程中是否出现异常,生成测试结果。48.本技术实施例具有如下有益效果:49.1.本技术实施例提供的查询待测服务器的处理器参数,得到该待测服务器的cpu资源参数,即查询得到第一处理器信息和第二处理器信息;同时启动内存压测进程,首先第一内存压力测试进程使用第二处理器来对第一处理器上的内存槽位上的内存进行内存压测,同时启动另一个内存测试进程,即第二内存压力测试进程,第二内存测试进程使用第一处理器来对第二处理器上的内存槽位上的内存进行内存压测,然后通过判断处理器在压测过程中,是否出现重启或者服务器关机的情况,生成测试结果;通过以上设置,实现通过增加双路cpu之间的调度,增大问题出现的概率,增大暴露cpu中ue问题出现的概率,以达到快速发现拦截cpu中ue问题的目的。附图说明50.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。51.图1示出根据本技术中的多路服务器cpu内存压力测试方法的示意图;52.图2示出根据本技术中的多路服务器cpu内存压力测试系统的示意图;53.图3示出根据本技术中的计算机设备的示意图。具体实施方式54.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。55.目前,随着服务器产品硬件的不断升级,arm服务器的cpu问题越来越突出,尤其是产生一些不可纠正的问题会对服务器的运行造成严重影响,ue(uncorrectableerror)错误发生后,影响设备功能与性能,硬件不能自动恢复,cpu作为服务器的大脑,这种问题就更为严重,因此必须在服务器出厂前将这种异常排查并拦截下来。cpu的ue问题是概率问题,在服务器整机工厂制造生产测试过程中,通过短时间的老化测试,无法充分暴露这种问题并拦截。因此,亟需一种尽量快速的测试方法来暴露拦截这种问题。基于以上问题,本技术提出了一种双路多路多路服务器cpu内存压力测试方法、系统及存储介质,增加两路cpu之间的调度,增大出现问题的概率。56.实施例一57.一种多路服务器cpu内存压力测试方法,如图1所示,应用于待测双路服务器,所述方法包括以下步骤:58.步骤s1:查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息。59.在一个具体的实施例中,在查询待测服务器的处理器参数之前,还包括,获取内存压力测试安装包,安装内存压力测试工具,以用于内存压力测试。具体的,内存压力测试工具为memtester内存压测工具,memtester内存压测工具是对内存子系统进行压力测试的有效用户空间测试器,其适用的系统有:hptru64unix4.0g、hptru64unix5.1b、hp-ux11i11.11、freebsd4.9、freebsd5.1等等。然后下载memtester源码压缩包,解压压缩包,进入memtester-x目录;配置编译工具和生成目录,修改conf-cc、conf-ld文件中的cc为自身的交叉编译工具,之后修改目录下的makefile,编译、安装、最终可执行文件memtester会放在当前目录./usr/local/bin下。60.查询待测服务器的计算内存资源参数,本技术中的待测服务器为双路服务器。首先,统计待测服务器的计算内存资源参数,得到服务器内存,具体的计算服务器的内存资源参数,查看本机可使用的内存(free-h),查询到的内存为a,例如32g。然后,统计待测服务器的处理器资源参数,得到处理器数量和核数信息,基于处理器数量与核数信息,得到第一处理器和第二处理器。具体的,计算服务器cpu资源参数,查看本机cpu数量与核数(lscpu),查询到的每个cpu插槽核数—core(s)persocke为“2”,“2”即代表待测双路服务器,“on-linecpu(s)list”为“0-159”,表示本机cpu共有160个核数,也就是2个80核的cpu,即cpu0和cpu1分别对应为第一处理器和第二处理器。61.步骤s2:启动第一内存压力测试进程,根据所述第一处理器信息将对第一处理器内存进行的所述第一内存压力测试进程绑定到第二处理器核上。62.开始启动memtester内存测试,需要知道的是,在没有进行对向绑核的时候,即启动一个测试进程直接开始对对应的cpu进行测试。本技术中,是使用第二处理器来对第一处理器内存槽位上的内存进行memtester内存压测。63.在启动第一内存压力测试进程,之后包括:根据所述服务器内存,设置测试内存容量为可使用服务器内存的一半;自行设置测试循环数,并生成测试命令以用于指导测试过程。将对第一处理器内存进行的第一内存压力测试进程绑定到第二处理器核上,具体包括:查询第一内存压力测试进程的进程号;通过输入指令将所述第一内存压力测试进程的进程号对向绑定到所述第二处理器核上;启动对第一处理器进行的第一内存压力测试进程。64.在一个具体的实施例中,包括以下步骤:65.步骤101:启动memtester内存测试进程,设置测试内存容量为可使用服务器内存的一半,根据步骤s1中的服务器内存为32g,因此设置测试内存容量为16g,测试的循环数为“3”,并生成测试命令:./memtester16g3;测试命令用于指导后续的内存测试过程。66.步骤102:然后查询memtester测试进程的进程号,查询的命令为“ps–ef/grepmemtester”,根据查询命令查出对应的进程号,例如:9865。67.步骤103:根据查询到的进程号进行对向cpu绑核,即把对第一处理器的内存压测绑定到第二处理器的核上,进行对向绑定的命令为“taskset-cp80-1599865”,然后开始第一内存压力测试进程。68.步骤s3:启动第二内存压力测试进程,根据所述第二处理器信息将对第二处理器内存进行的所述第二内存压力测试进程绑定到第一处理器核上。69.在第一内存压力测试进程开始运行之后,此时开始启动第二内存压力测试进程,即同时使用第一处理器来对第二处理器内存槽位上的内存进行memtester内存压测,包括以下步骤:70.步骤201:再启动另一个memtester内存测试进程,设置测试内存容量为可使用内存容量的另一半,因此设置测试内存容量为16g,测试循环数设置为“5”,并生成测试命令:./memtester16g5;测试命令用于指导后续的内存测试过程。71.步骤202:然后查询新启动的memtester测试进程的进程号,查询的命令为“ps–ef/grepmemtester”,根据查询命令查出对应的进程号,例如:9866。72.步骤203:根据查询到的进程号进行对向cpu绑核,即把对第二处理器的内存压测绑定到第一处理器的核上,进行对向绑定的命令为“taskset-cp0-809866”,然后开始第二内存压力测试进程。73.步骤s4:判断处理器内存压测过程中是否出现异常,生成测试结果。74.在一个具体的实施例中,具体包括,判断处理器内存压测过程中是否出现重启或者关机;若出现重启或者关机,则生成测试结果为异常;若未出现重启或者关机,则生成测试结果为正常。75.在一个具体的实施例中,若是测试结果为异常之后,还包括:等待第一内存压力测试进程和第二内存压测进行运行结束,查询测试运行日志和/或pci设备信息中是否出现错误关键字信息;若出现错误关键字信息,则拦截所述待测服务器;若未出现错误关键字信息,则不拦截所述待测服务器。76.具体的,查询测试运行日志包括,查询dmesg日志或者messages日志中是否有aererror或者与uncorrectable关键字信息,如果出现了则说明内存压测过程出现了ue问题,则拦截本服务器。或者检查pci设备信息,查询pci设备信息中是否出现“uncorrerr ”例如“devsta:correrr-uncorrerr atalerr-unsuppreq-auxpwr-transpend‑”中出现了uncorrerr ,则表示出现了ue问题,拦截对应的待测服务器。77.具体的,本技术通过查询待测服务器的处理器参数,得到该待测服务器的cpu资源参数,即查询得到第一处理器和第二处理器;同时启动内存压测进程,首先第一内存压力测试进程使用第二处理器来对第一处理器上的内存槽位上的内存进行内存压测,同时启动另一个内存测试进程,即第二内存压力测试进程,第二内存测试进程使用第一处理器来对第二处理器上的内存槽位上的内存进行内存压测,然后通过判断处理器在压测过程中,是否出现重启或者服务器关机的情况,生成测试结果;通过以上设置,实现通过增加双路cpu之间的调度,增大问题出现的概率,增大暴露cpu中ue问题出现的概率,以达到快速发现拦截cpu中ue问题的目的。78.实施例二79.对应上述实施例,一种多路服务器cpu内存压力测试系统,如图2所示,所述系统包括:80.信息查询模块,所述信息查询模块用于查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;81.第一测试模块,所述第一测试模块用于启动第一内存压力测试进程,根据所述第一处理器信息将对第一处理器内存进行的所述第一内存压力测试进程绑定到第二处理器核上;82.第二测试模块,所述第二测试模块用于启动第二内存压力测试进程,根据所述第二处理器信息将对第二处理器内存进行的所述第二内存压力测试进程绑定到第一处理器核上;83.判断模块,所述判断模块用于判断处理器内存压测过程中是否出现异常,生成测试结果。84.在一个具体的实施例中,所述系统还包括安装模块,所述安装模块用于获取内存压力测试安装包,安装内存压力测试工具,以用于内存压测。85.在一个具体的实施例中,信息查询模块具体包括统计所述待测服务器的计算内存资源参数,得到服务器内存;统计所述待测服务器的处理器资源参数,得到处理器数量与核数信息;基于所述处理器数量与核数信息,得到第一处理器信息和第二处理器信息。86.在一个具体的实施例中,信息查询模块还包括在启动第一内存压力测试进程,之后根据所述服务器内存,设置测试内存容量为可使用服务器内存的一半;自行设置测试循环数,并生成测试命令。87.在一个具体的实施例中,第一测试模块还包括查询所述第一内存压力测试进程的进程号;通过输入指令将所述第一内存压力测试进程的进程号对向绑定到第二处理器核上;启动对第一处理器进行的第一内存压力测试进程。88.在一个具体的实施例中,判断模块具体包括,判断处理器内存压测过程中是否出现重启或者关机;若出现重启或者关机,则生成测试结果为异常;若未出现重启或者关机,则生成测试结果为正常。89.在一个具体的实施例中,所述判断模块还包括在生成测试结果为异常之后,等待所述第一内存压力测试进程和所述第二内存压力测试进程运行结束;查询测试运行日志和/或pci设备信息中是否出现错误关键字信息;若出现错误关键字信息,则拦截所述待测服务器;若未出现错误关键字信息,则不拦截所述待测服务器。90.实施例三91.提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:92.步骤301:查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;93.步骤302:启动第一内存压力测试进程,根据所述第一处理器信息将对述第一处理器内存进行的所述第一内存压力测试进程绑定到第二处理器核上;94.步骤303:启动第二内存压力测试进程,根据所述第二处理器信息将对第二处理器内存进行的所述第二内存压力测试进程绑定到第一处理器核上;95.步骤304:判断处理器内存压测过程中是否出现异常,生成测试结果。96.在一个具体的实施例中,在步骤301之前还包括获取内存压力测试安装包,安装内存压力测试工具,以用于内存压测。97.在一个具体的实施例中,步骤302具体包括统计所述待测服务器的计算内存资源参数,得到服务器内存;统计所述待测服务器的处理器资源参数,得到处理器数量与核数信息;基于所述处理器数量与核数信息,得到第一处理器信息和第二处理器信息。98.在一个具体的实施例中,步骤302中还包括根据所述服务器内存,设置测试内存容量为可使用服务器内存的一半;自行设置测试循环数,并生成测试命令。查询所述第一内存压力测试进程的进程号;通过输入指令将所述第一内存压力测试进程的进程号对向绑定到所述第二处理器核上;启动对第一处理器进行的第一内存压力测试进程。99.在一个具体的实施例中,步骤304具体包括判断处理器内存压测过程中是否出现重启或者关机;若出现重启或者关机,则生成测试结果为异常;若未出现重启或者关机,则生成测试结果为正常。100.在一个具体的实施例中,步骤304还包括当生成测试结果为异常之后,等待所述第一内存压力测试进程和所述第二内存压力测试进程运行结束;查询测试运行日志和/或pci设备信息中是否出现错误关键字信息;若出现错误关键字信息,则拦截所述待测服务器;若未出现错误关键字信息,则不拦截所述待测服务器。101.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储内存压测进程中的测试数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多路服务器cpu内存压力测试方法。102.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。103.实施例四104.在一个本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:105.步骤401:查询待测服务器的处理器参数,得到第一处理器信息和第二处理器信息;106.步骤402:启动第一内存压力测试进程,根据所述第一处理器信息将对第一处理器内存进行的所述第一内存压力测试进程绑定到第二处理器核上;107.步骤403:启动第二内存压力测试进程,根据所述第二处理器信息将对第二处理器内存进行的所述第二内存压力测试进程绑定到第一处理器核上;108.步骤404:判断处理器内存压测过程中是否出现异常,生成测试结果。109.在一个具体的实施例中,在步骤401之前还包括获取内存压力测试安装包,安装内存压力测试工具,以用于内存压测。110.在一个具体的实施例中,步骤402具体包括统计所述待测服务器的计算内存资源参数,得到服务器内存;统计所述待测服务器的处理器资源参数,得到处理器数量与核数信息;基于所述处理器数量与核数信息,得到第一处理器信息和第二处理器信息。111.在一个具体的实施例中,步骤402中还包括根据所述服务器内存,设置测试内存容量为可使用服务器内存的一半;自行设置测试循环数,并生成测试命令。查询所述第一内存压力测试进程的进程号;通过输入指令将所述第一内存压力测试进程的进程号对向绑定到第二处理器核上;启动对第一处理器进行的第一内存压力测试进程。112.在一个具体的实施例中,步骤404具体包括判断处理器内存压测过程中是否出现重启或者关机;若出现重启或者关机,则生成测试结果为异常;若未出现重启或者关机,则生成测试结果为正常。113.在一个具体的实施例中,步骤404还包括当生成测试结果为异常之后,等待所述第一内存压力测试进程和所述第二内存压力测试进程运行结束;查询测试运行日志和/或pci设备信息中是否出现错误关键字信息;若出现错误关键字信息,则拦截所述待测服务器;若未出现错误关键字信息,则不拦截所述待测服务器。114.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。115.尽管已描述了本技术实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例中范围的所有变更和修改。116.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献