本发明属于服务器测试技术领域,具体涉及一种服务器linux系统下GPU压力测试的监控方法。
背景技术:
随着社会的快速发展,人们对高网络性能、快速存储、大量内存、超高计算能力的GPU的需求越来越大,产品对gpu的需求也越来越大。作为服务器的重要组成部件,它的稳定定直接关乎着机器能否稳定工作。
在服务器的常规测试项目中,GPU的压力测试常作为重要程度最高、优先级最高的测试内容。常用的GPU压力测试程序很多,例如nbody、gpu-burn-master、nvqul_stress等等。
传统GPU压测方法只需关注压力是否正常运行、测试结束后程序原生log是否有异常、系统log是否有异常即可,对于测试期间出现的频率波动、温度及功耗异常、压力duty值等监控不到。此为现有技术的不足之处。
因此,针对现有技术中的上述缺陷,提供设计一种服务器linux系统下GPU压力测试的监控方法;以解决现有技术中的上述缺陷,是非常有必要的。
技术实现要素:
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种服务器linux系统下GPU压力测试的监控方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种服务器linux系统下GPU压力测试的监控方法,其特征在于,包括以下步骤:
S1:测试前将日志信息清空或检查无误的情况下,启动压测程序;
S2:启动监控程序,关注下是否有报错信息弹出。
S3:测试结束后,需要检查监控信息结果,有问题(有监控信息报警)需要反查,定位下是否为服务器本身的问题。
作为优选,所述步骤S1具体包括以下步骤:
S11:设置时间、驱动版本参数,具体指令如下:
time=`date+"%Y-%m-%d%H:%M:%S"`
driver=`nvidia-smi|grep-i version`
DAC=`nvidia-smi-q|grep-A1"Default App"|grep-i mhz|sort|uniq-c|awk'{print$4}'`
nu=`lspci|grep-i nvi|wc-l`
stress_nu=`nvidia-smi|grep"100%"|wc-l`。
作为优选,所述步骤S2具体包括以下步骤:
S21:测试log的检查环节,如存在此文件则会测试前删除,创建收集日志的文件夹;具体指令如下:
S22:驱动的检查环节,如未安装成功有报错提示;具体指令如下:
S23:每隔2秒一次循环检查,确认GPU全部加压成功
S24:收集每秒频率日志,包括GPU温度、GPU温度、内存和GPU的使用率、内存和GPU的频率;具体指令如下:
echo"TIMES:$time">>mhz_results/nvidia_dmon.log
echo"$driver">>mhz_results/nvidia_dmon.log
nvidia-smi dmon|tee-a mhz_results/nvidia_dmon.log
S25:加压过程中收集低于基准频率的“bus id”以及降频日志直到压力测试完成;具体指令如下:
作为优选,所述步骤S3包括以下步骤:
S31:关闭收集频率日志的进程,具体指令如下:
killall nvidia-smi
S32:检查日志并输出大的pass或fail图案,具体指令如下:
本发明的有益效果在于,配合压测程序使用,实现了GPU压测过程中对关键信息的监控,对于故障分析和服务器质量评估提供了参考,可使用在服务器的常规测试中。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
具体实施方式
下面通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
本实施例提供的一种服务器linux系统下GPU压力测试的监控方法,其特征在于,包括以下步骤:
S1:测试前将日志信息清空或检查无误的情况下,启动压测程序;
S2:启动监控程序,关注下是否有报错信息弹出。
S3:测试结束后,需要检查监控信息结果,有问题(有监控信息报警)需要反查,定位下是否为服务器本身的问题。
本实施例中,所述步骤S1具体包括以下步骤:
S11:设置时间、驱动版本参数,具体指令如下:
time=`date+"%Y-%m-%d%H:%M:%S"`
driver=`nvidia-smi|grep-i version`
DAC=`nvidia-smi-q|grep-A1"Default App"|grep-i mhz|sort|uniq-c|awk'{print$4}'`
nu=`lspci|grep-i nvi|wc-l`
stress_nu=`nvidia-smi|grep"100%"|wc-l`。
本实施例中,所述步骤S2具体包括以下步骤:
S21:测试log的检查环节,如存在此文件则会测试前删除,创建收集日志的文件夹;具体指令如下:
S22:驱动的检查环节,如未安装成功有报错提示;具体指令如下:
S23:每隔2秒一次循环检查,确认GPU全部加压成功
S24:收集每秒频率日志,包括GPU温度、GPU温度、内存和GPU的使用率、内存和GPU的频率;具体指令如下:
echo"TIMES:$time">>mhz_results/nvidia_dmon.log
echo"$driver">>mhz_results/nvidia_dmon.log
nvidia-smi dmon|tee-a mhz_results/nvidia_dmon.log
S25:加压过程中收集低于基准频率的“bus id”以及降频日志直到压力测试完成;具体指令如下:
本实施例中,所述步骤S3包括以下步骤:
S31:关闭收集频率日志的进程,具体指令如下:
killall nvidia-smi
S32:检查日志并输出大的pass或fail图案,具体指令如下:
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。