CN108804292A - 一种用于Linux的CPU压力测试监控方法 - Google Patents

一种用于Linux的CPU压力测试监控方法 Download PDF

Info

Publication number
CN108804292A
CN108804292A CN201810637466.0A CN201810637466A CN108804292A CN 108804292 A CN108804292 A CN 108804292A CN 201810637466 A CN201810637466 A CN 201810637466A CN 108804292 A CN108804292 A CN 108804292A
Authority
CN
China
Prior art keywords
cpu
time
linux
monitoring
pressure test
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.)
Pending
Application number
CN201810637466.0A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810637466.0A priority Critical patent/CN108804292A/zh
Publication of CN108804292A publication Critical patent/CN108804292A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

本发明提供了一种用于Linux的CPU压力测试监控方法,包括:确定监控循环时间,并在测试过程中实时计算测试时间与开始时间的差值,判断是否到达设置的循环时间;在多个时间点读取CPU的各种参数数据,并将这些参数数据用于画图。该方法在Linux下实时监控CPU指标的CPU压力测试,在给CPU进行压力的测试过程中,能够实时记录CPU的频率、功耗、温度,并根据历史数据在同一幅图像上实时画出三个指标随时间的变化折线图。直至达到要求的时间上限后自动结束监控。

Description

一种用于Linux的CPU压力测试监控方法
技术领域
本发明涉及的是服务器领域,尤其是在Linux下对CPU压力测试时,进行CPU监控的方法。
背景技术
在现有技术中,公知的技术是CPU作为现代服务器的核心组成部分,其稳定性直接影响整个服务器的稳定性。在CPU的测试过程中,测试CPU的持续稳定性是重要的测试步骤。在CPU的高使用率下,CPU的功耗维持高水平,对主板或者电源的稳定性以及散热设计要求都很高,如果在压力过程中出现各种原因导致的供电不足或者温度过高,CPU的频率就会出现大幅波动,进而导致功耗限制,进而影响整机的性能发挥。
在CPU进行压力测试的过程中,需要实时监控CPU稳定性的几个重要指标,CPU频率、功耗、温度。一旦上述指标出现大幅波动,说明CPU的稳定性出现了问题,进而需要寻找问题的根源。
在windows下使用PTU测试时,PTU工具自带了实时监控的功能,能够以图像的形式实时展现CPU的几个指标。但是在Linux下测试时,PTU并没有自带这个功能。所以导致了在Linux下测试时,无法实时以图像的形式展现CPU的几个指标,无法及时快速的判断测试过程中在何时出现了波动。这是现有技术所存在的不足之处。
发明内容
本发明的目的就是针对现有技术所存在的不足,而提供一种用于Linux的CPU压力测试监控方法,该方法在linux下实时监控CPU指标的CPU压力测试,在给CPU进行压力的测试过程中,能够实时记录CPU的频率、功耗、温度,并根据历史数据在同一幅图像上实时画出三个指标随时间的变化折线图。直至达到要求的时间上限后自动结束监控。通过本发明,能够在Linux系统下测试CPU稳定性过程中更加有效的直观的观测CPU的稳定性测试,及时发现测试异常,提升测试的品质,进而提升整个服务器的品质。
本方案是通过如下技术措施来实现的:一种用于Linux的CPU压力测试监控方法,包括:确定监控循环时间,并在测试过程中实时计算测试时间与开始时间的差值,判断是否到达设置的循环时间;在多个时间点读取CPU的各种参数数据,并将这些参数数据用于画图。设定了循环时间T,因为要实现每隔一定的时间生成一次图像,所以需要使用一个无限循环。直到时间达到要求的值T,则退出循环。在测试监控时,首先要判断是否有监控循环时间,如果没有则不进行压力测试监控。
进行测试监控时,要创建用于存储日志的文件夹,并唯一标识,用当前时间戳加入到命名中,形成唯一标识符。这样既便于存储监测数据,也有唯一的标识。
检查是否有指定监控CPU的时间参数和当前平台的型号。。因为需要指定监控CPU的时间,所以需要一个参数。同时因为不同平台获取CPU信息的参数不同,所以还需要第二个参数来指定当前的平台型号。如果输入的参数个数不是两个,则输出错误提示信息,然后退出。
检查是否有画图工具,如果有,则进入监控过程,如果没有则进行安装后再进入监控过程;在Linux系统中,检查是否安装画图工具时,执行whichgnuplot,如果已经安装了gnuplot画图工具,就会返回gnupplot工具所在的路径,返回值为0;如果没有安装gnuplot工具,则返回错误提示,返回值为非0;根据返回值是0还是非0,可以快速方便的判断出gnuplot是否已经安装。gnuplot工具在Linux系统中不是默认安装,所以需要检测此工具是否已经安装。
在监控循环过程中,获取当前时间点CPU的频率、温度、功耗数据,然后记录到日志文件中,然后将CPU频率、温度、功耗截止当前时间的历史数据分别从日志文件中获取,通过gnuplot工具画图呈现。
在画图过程中,创建跟获取到的数据值长度相同的时间值,作为X轴,左侧Y轴代表频率,右侧Y轴代表温度和功耗,分别找到频率的最大和最小值,温度和功耗中的最大和最小值,将左侧Y轴和右侧Y周的范围扩大,将两侧Y轴的范围均调整到最大值*1.1和最小值*0.9之间。这样图像都不会跟坐标轴重合了。
对于不同的平台类型,在获取数据的过程和绘图过程,均是分不同平台分别处理。因为不同平台使用的CPU监控工具的具体参数不同,所以针对不同平台使用不同参数进行秩序读取CPU的信息。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明具体实施方式的流程图图。
图2为监测到的CPU频率、温度、功耗的走势图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过一个具体实施方式,并结合其附图,对本方案进行阐述。
通过附图可以看出,本方案方法首先判断用户是否输入要求监控的总时间T,如果没有输入则退出程序,并提示用户输入这个参数;如果有输入,则进入下一步。创建日志文件,用当前时间戳加入到命名中,形成唯一标识符。
确定监控CPU的时间和平台型号这两个参数,同时因为不同平台获取CPU信息的参数不同,所以还需要指定当前的平台型号,为了在测试过程中实现基于时间的控制,需要在多个测试节点计算测试过程中时间和开始时间的差值,我们分别将两个时间转换成成相对于1970年1月1日0点的秒数,以便计算差值。因为1970年1月1日0点是操作系统的元年,即0点。如果要计算两个时间的时间差秒数,可以分别计算相对于1970年1月1日0点的秒数,然后相减即可算出差值秒数。这样算法简单,无需额外的依赖。先使用系统命令date +%s计算出当前时间相对于1970年1月1日0点的秒数A.
确认画图工具是否安装,画图使用的是gnuplot工具,在某些操作系统下这个工具不是默认安装,所以需要检测此工具是否已经安装,如果没有安装,则需要进行安装。linux自带一个which命令,当执行whichgnuplot时,如果已经安装了gnuplot工具,就会返回gnupplot工具所在的路径,返回值为0;如果没有安装gnuplot工具,则返回错误提示,返回值为非0。根据返回值是0还是非0,可以快速方便的判断出gnuplot是否已经安装。
为了持续获取CPU指标数据和完成图像,需要使用一个死循环。进入循环的指标是测试时间还未到达要求的值T;退出循环的指标是测试时间超过了要求的值T
在循环内部,获取当前时间点CPU的频率、温度、功耗数据,然后记录到日志文件中。然后将CPU频率、温度、功耗截止当前时间的历史数据分别从日志文件中获取,然后画图呈现。
因为目前CPU的频率的数值范围在10以内,而温度和功耗都在50以上,如果所有的值都是用同一个Y轴,那么就会出现频率图像非常靠下,而温度和功耗的图像非常靠上,中间是大片的空白,造成图像非常不美观,中间的位置大量浪费。为了将图像更美观的呈现,使数据尽可能的都在中间位置,Y轴使用双坐标来呈现。左侧Y轴代表频率,右侧Y轴代表温度和功耗。为了使所有值都能够在图像中显示,需要分别找到频率的最大和最小值,温度和功耗中的最大和最小值。只要Y轴范围在最大和最小值中间,那剩余的所有值都能够在图像中呈现。同时为了防止图像跟坐标轴重合,需要将Y轴的范围适当扩大,将Y轴的范围调整到最大值*1.1和最小值*0.9之间。这样图像都不会跟坐标轴重合了。
获取到结果之后,在一定的时间间隔之后,将已经获取到的CPU频率值、温度、功耗根据时间进行画图,并保存。通过查看这个图像,可以查看从开始监控到当前时间的CPU频率、温度、功耗随时间的变化。如果一旦出现大幅波动,从图像中可以非常快速、清晰地看出来,图2中最上面的线标识的是CPU POWER,即CPU功耗,中间的波浪线为CPU CFreg,即CPU频率,最下面的波浪线为CPU Temperature即CPU温度。
画完图像之后,判断循环是否结束,继续判断是否超过了所要求的测试时间。
本发明并不仅限于上述具体实施方式,本领域普通技术人员在本发明的实质范围内做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (8)

1.一种用于Linux的CPU压力测试监控方法,其特征在于包括:
确定监控循环时间,并在测试过程中实时计算测试时间与开始时间的差值,判断是否到达设置的循环时间;
在多个时间点读取CPU的各种参数数据,并将这些参数数据用于画图。
2.根据权利要求1所述的用于Linux的CPU压力测试监控方法,其特征是:在测试监控时,首先要判断是否有监控循环时间,如果没有则不进行压力测试监控。
3.根据权利要求1所述的用于Linux的CPU压力测试监控方法,其特征是:进行测试监控时,要创建用于存储日志的文件夹,并唯一标识,用当前时间戳加入到命名中,形成唯一标识符。
4.根据权利要求3所述的用于Linux的CPU压力测试监控方法,其特征是:检查是否有指定监控CPU的时间参数和当前平台的型号。
5.根据权利要求3所述的用于Linux的CPU压力测试监控方法,其特征是:检查是否有画图工具,如果有,则进入监控过程,如果没有则进行安装后再进入监控过程;
在Linux系统中,检查是否安装画图工具时,执行whichgnuplot,如果已经安装了gnuplot画图工具,就会返回gnupplot工具所在的路径,返回值为0;如果没有安装gnuplot工具,则返回错误提示,返回值为非0;根据返回值是0还是非0,可以快速方便的判断出gnuplot是否已经安装。
6.根据权利要求5所述的用于Linux的CPU压力测试监控方法,其特征是:
在监控循环过程中,获取当前时间点CPU的频率、温度、功耗数据,然后记录到日志文件中,然后将CPU频率、温度、功耗截止当前时间的历史数据分别从日志文件中获取,通过gnuplot工具画图呈现。
7.根据权利要求6所述的用于Linux的CPU压力测试监控方法,其特征是:在画图过程中,创建跟获取到的数据值长度相同的时间值,作为X轴,左侧Y轴代表频率,右侧Y轴代表温度和功耗,分别找到频率的最大和最小值,温度和功耗中的最大和最小值,将左侧Y轴和右侧Y周的范围扩大,将两侧Y轴的范围均调整到最大值*1.1和最小值*0.9之间。
8.根据权利要求7所述的用于Linux的CPU压力测试监控方法,其特征是:对于不同的平台类型,在获取数据的过程和绘图过程,均是分不同平台分别处理。
CN201810637466.0A 2018-06-20 2018-06-20 一种用于Linux的CPU压力测试监控方法 Pending CN108804292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810637466.0A CN108804292A (zh) 2018-06-20 2018-06-20 一种用于Linux的CPU压力测试监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810637466.0A CN108804292A (zh) 2018-06-20 2018-06-20 一种用于Linux的CPU压力测试监控方法

Publications (1)

Publication Number Publication Date
CN108804292A true CN108804292A (zh) 2018-11-13

Family

ID=64083932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810637466.0A Pending CN108804292A (zh) 2018-06-20 2018-06-20 一种用于Linux的CPU压力测试监控方法

Country Status (1)

Country Link
CN (1) CN108804292A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628902A (zh) * 2019-02-28 2020-09-04 腾讯科技(深圳)有限公司 速率测试方法和装置、电子设备和计算机可读存储介质
CN112416671A (zh) * 2020-11-12 2021-02-26 宁畅信息产业(北京)有限公司 Cpu稳定性测试方法、装置、计算机设备和存储介质
CN112559276A (zh) * 2019-09-10 2021-03-26 武汉斗鱼网络科技有限公司 一种cpu使用率监控方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070116267A1 (en) * 2003-04-01 2007-05-24 Sytex, Inc. Methods for categorizing input data
CN104881293A (zh) * 2015-06-10 2015-09-02 王庆文 一种Linux系统规则数据处理系统及方法
CN105468501A (zh) * 2015-11-17 2016-04-06 浪潮(北京)电子信息产业有限公司 一种Linux系统性能监测方法和装置
CN106371969A (zh) * 2016-08-25 2017-02-01 浪潮电子信息产业股份有限公司 一种服务器linux系统下MEM压力测试的监控方法
CN107203447A (zh) * 2017-05-27 2017-09-26 郑州云海信息技术有限公司 一种硬盘性能稳定性的测试及展现方法
CN107943638A (zh) * 2017-12-14 2018-04-20 郑州云海信息技术有限公司 一种cpu稳定性的测试和评估方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070116267A1 (en) * 2003-04-01 2007-05-24 Sytex, Inc. Methods for categorizing input data
CN104881293A (zh) * 2015-06-10 2015-09-02 王庆文 一种Linux系统规则数据处理系统及方法
CN105468501A (zh) * 2015-11-17 2016-04-06 浪潮(北京)电子信息产业有限公司 一种Linux系统性能监测方法和装置
CN106371969A (zh) * 2016-08-25 2017-02-01 浪潮电子信息产业股份有限公司 一种服务器linux系统下MEM压力测试的监控方法
CN107203447A (zh) * 2017-05-27 2017-09-26 郑州云海信息技术有限公司 一种硬盘性能稳定性的测试及展现方法
CN107943638A (zh) * 2017-12-14 2018-04-20 郑州云海信息技术有限公司 一种cpu稳定性的测试和评估方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
豆丁网: "gnuplot.中文手册修订(精)", 《HTTPS://WWW.DOCIN.COM/P-1254060726.HTML》 *
道客巴巴: "gnuplot中文手册", 《HTTP://WWW.DOC88.COM/P-1761985525506.HTML》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628902A (zh) * 2019-02-28 2020-09-04 腾讯科技(深圳)有限公司 速率测试方法和装置、电子设备和计算机可读存储介质
CN112559276A (zh) * 2019-09-10 2021-03-26 武汉斗鱼网络科技有限公司 一种cpu使用率监控方法及装置
CN112559276B (zh) * 2019-09-10 2022-05-13 武汉斗鱼网络科技有限公司 一种cpu使用率监控方法及装置
CN112416671A (zh) * 2020-11-12 2021-02-26 宁畅信息产业(北京)有限公司 Cpu稳定性测试方法、装置、计算机设备和存储介质
CN112416671B (zh) * 2020-11-12 2024-02-09 宁畅信息产业(北京)有限公司 Cpu稳定性测试方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN108804292A (zh) 一种用于Linux的CPU压力测试监控方法
US9741230B2 (en) Plant monitoring system, plant monitoring method, and program storage medium
CN107783901B (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN104578411B (zh) 一种pmu数据接入agc后的多源数据安全校验与故障闭锁方法
CN110244256A (zh) 一种智能电能表故障识别方法、装置及设备
CN105388876B (zh) 获得基于班组的间歇型化工生产工艺符合度的方法及装置
CN104091623B (zh) 核电站机组模拟量控制参数整定方法、装置及系统
CN107871181B (zh) 一种热电联产机组发电计划制定方法、装置及系统
JP2010181159A (ja) 電力測定装置
CN106248411B (zh) 一种基于运行数据统计分析的凝汽器换热性能评价方法
CN106442870A (zh) 一种纸张在线质检系统及其方法
CN103498706A (zh) 基于通用逻辑表格的汽轮机组性能监测诊断方法
CN107943638A (zh) 一种cpu稳定性的测试和评估方法及系统
CN106373028B (zh) 一种电力维修系统
CN110365028B (zh) 一种一次调频影响功率振荡的判断方法
CN106325227B (zh) 制程管控线的生成方法和装置及制程管控系统
CN116680289A (zh) 分布式数据库索引推荐监控系统及方法
CN110942187A (zh) 火灾探测系统不可用相关条款优化方法、系统及存储介质
CN107612144B (zh) 变电站设备重要性检测系统和方法
CN106507588A (zh) 一种pcb中自动检测多余元件的方法
CN109522081A (zh) 核电设备参数信息的界面显示方法、装置和电子设备
CN108257248A (zh) 用于监测生产设备的方法和装置以及分析设备
WO2020009655A1 (en) Method and system for chiller performance anomaly diagnosis
CN105787205B (zh) 基于fmea的故障模式影响关系图示方法和系统
CN105719181A (zh) 风险等级评估方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181113

RJ01 Rejection of invention patent application after publication