0


Linux服务器CPU满负载压力测试&&温度检测

Linux服务器CPU满负载压力测试&&温度检测

本次测试,测试环境是Centos7.6_X86_64,下载的RPM包是stress-1.0.4-16.el7.x86_64.rpm、lm_sensors-libs-3.4.0-6.20160601.el7.x86_64.rpm以及lm_sensors-3.4.0-6.20160601.el7.x86_64.rpm

下载stress RPM包

  1. 进入Linux的RPM包网址:RPM Resource
  2. 搜索框内输入 stress,找到与系统对应的RPM包,点击下载即可在这里插入图片描述

下载lm_sensors RPM包

  1. 进入Linux的RPM包网址:RPM Resource
  2. 搜索框内输入 lm_sensors以及lm_sensors-libs,找到与系统对应的RPM包,点击下载即可在这里插入图片描述在这里插入图片描述

安装RPM包

将下载好的RPM包拷贝到/root/目录下,分别执行rpm -ivh 命令安装即可

>>rpm  -ivh  stress-1.0.4-16.el7.x86_64.rpm
>>rpm  -ivh  lm_sensors-libs-3.4.0-6.20160601.el7.x86_64.rpm
>>rpm  -ivh  lm_sensors-3.4.0-6.20160601.el7.x86_64.rpm

在这里插入图片描述

编写压力测试的Shell脚本

  1. 编写压力测试的Shell脚本:cpustress
#!/bin/shValue=1FLAG="fail"#增加rc.local的权限,在centos7下权限较低functionProgressBar(){mark=''for((ratio=0;${ratio}<=100;ratio+=5))dosleep0.2printf"progress:[%-40s]%d%%\r""${mark}""${ratio}"mark="##${mark}"doneecho}#判断系统是否为centos 7,是则修改自启动配置if[-f"/etc/redhat-release"];then#检查stress命令是否安装filename_stress="/usr/bin/stress"if[-e"$filename_stress"];then#修改/etc/crontab文件echo"stress has installed!"elseecho"Err: stress has not installed! Please install the stress-rpm now!"exitfiCPUNUM=`cat /proc/cpuinfo |grep"processor"|wc-l`#echo "CPUNUM:"$CPUNUMletRealCPUNUM=$CPUNUMecho"CPUPROCESSORNUMS(CPU逻辑总数[物理核数X每个物理核的逻辑核数X每个逻辑核的线程数]):"$RealCPUNUMecho-e"\033[035m*****************************************\033[0m"echo-e"\033[036m*             CPU满负载测试              \033[0m"echo-e"\033[034m*              q : 退出                  \033[0m"echo-e"\033[035m*****************************************\033[0m"#用户输入选择input=""while:doread-r-p"*输入测试所需时间(以小时为单位)后回车: " input
        if[[$input=~ ^[0-9]+$ ]];thenFLAG="OK"elif[$input=='q'];thenFLAG="QUIT"elseFLAG="ERR"ficase$FLAGin"OK")#启动服务echo"StressTime:"$input"h"letTimeSecond=$input*60*60
                #设置进度条
                ProgressBar 
                stress --cpu$RealCPUNUM--timeout$TimeSecondbreak;;"QUIT")echo"quit success!"break;;
            *)echo"*请输入有效的数字:";;esacdonefi

在这里插入图片描述

编写记录压力测试日志的Shell脚本

1.编写记录压力测试日志的Shell脚本:watchCPUStatus

#!/bin/shValue=1FLAG="fail"PrintFLAG=0#增加rc.local的权限,在centos7下权限较低functionProgressBar(){mark=''for((ratio=0;${ratio}<=100;ratio+=5))dosleep0.2printf"progress:[%-40s]%d%%\r""${mark}""${ratio}"mark="##${mark}"doneecho}functionprint_log2(){if[$PrintFLAG-eq0];then
        mpstat -P ALL $1>>"/root/cpu_usage/$str_filename.log"&PrintFLAG=1fi}#获取时间作为log的文件名functionprint_log(){while:do#根据日期时间创建文件名str_file="CPU_usage"str_datename=$(date +%Y%m%d)_$(date +%H)str_filename=$str_file$str_datename#添加换行符echo"==================  Monitor Message Start  ==================">>"/root/cpu_usage/$str_filename.log"& 
        sensors >>"/root/cpu_usage/$str_filename.log"&
        print_log2 $1echo>>"/root/cpu_usage/$str_filename.log"&sleep$1done}#判断系统是否为centos 7,是则修改自启动配置if[-f"/etc/redhat-release"];then#生成log的文件夹以及文件名mkdir cpu_usage &CPUNUM=`cat /proc/cpuinfo |grep physical  |sort-n|uniq|wc-l`#echo "CPUNUM:"$CPUNUMletRealCPUNUM=$CPUNUM-$Valueecho"RealCPUNUM:"$RealCPUNUMecho-e"\033[035m*****************************************\033[0m"echo-e"\033[036m*       CPU满负载&&硬件实时监测          \033[0m"echo-e"\033[034m*              q : 退出                  \033[0m"echo-e"\033[035m*****************************************\033[0m"#用户输入选择PrintTimeInterval=""while:doread-r-p"*输入打印信息的时间间隔(以秒为单位)后回车: " PrintTimeInterval
        if[[$PrintTimeInterval=~ ^[0-9]+$ ]];thenFLAG="OK"elif[$PrintTimeInterval=='q'];thenFLAG="QUIT"elseFLAG="ERR"ficase$FLAGin"OK")#启动服务echo"###PrintTimeInterval:"$PrintTimeInterval"s"echo"###CPU占用率以及硬件温度信息打印至/root/cpu_usage/下面的log日志,了解详情请前往此目录下查看log文件"echo"###如需停止相关信息打印,请按Ctrl+C停止即可"# 打印日志
                print_log $PrintTimeIntervalbreak;;;"QUIT")echo"quit success!"break;;
            *)echo"*请输入有效的数字:";;esacdonefi

在这里插入图片描述

2.查看压力测试的信息内容

进入/root/cpu_usage/文件夹下,查看具体的压力信息
在这里插入图片描述


本文转载自: https://blog.csdn.net/qq_42150862/article/details/139598821
版权归原作者 人生三渡 所有, 如有侵权,请联系我们删除。

“Linux服务器CPU满负载压力测试&&温度检测”的评论:

还没有评论