一种监控CPU核心频率的方法及装置与流程

文档序号:11829355阅读:476来源:国知局
一种监控CPU核心频率的方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种监控CPU核心频率的方法及装置。



背景技术:

服务器作为一种具有高性能及高稳定性的计算机,一般用于运行企业或事业单位的关键业务。中央处理器(CPU,Central Processing Unit)作为服务器的运算核心和控制核心,其性能直接影响服务器的性能,而每个CPU一般具有多个核心,核心的频率影响了CPU的数据处理速度。为了保证服务器能够以较高的性能稳定运行,需要对服务器进行性能测试和压力测试,服务器CPU核心的频率变化是服务器性能测试及压力测试过程中重要指标。

目前,在对服务器进行性能测试和压力测试的过程中,针对于任意一个CPU,抓取该CPU中所有核心的频率最大值作为该CPU的核心频率。

针对于目前对CPU核心频率进行监控的方法,由于一个CPU包括有多个核心,以频率最大的一个核心的频率值作为该CPU的核心频率,该CPU核心频率不能代表该CPU的实际工作情况,根据该CPU核心频率来对服务器的性能进行评价,导致服务器对服务器性能进行评价的准确性较低。



技术实现要素:

本发明实施例提供了一种监控CPU核心频率的方法及装置,能够提高对服务器性能进行评价的准确性。

本发明实施例提供了一种监控CPU核心频率的方法,包括:

获取至少一个CPU的第一物理地址,其中每一个所述CPU包括至少一个核心;

针对于每一个所述CPU,根据该CPU的第一物理地址,获取该CPU包括的各个核心的第二物理地址;

每经过一个预设的间隔时间,根据各个所述核心的第二物理地址,分别获取每一个所述核心的频率;

根据各个所述核心的频率,形成对应于每一个所述核心的频率状态表,并将所述频率状态表输出。

优选地,

在所述获取该CPU包括的各个核心的第二物理地址之后进一步包括:

每经过一个所述间隔时间,针对于每一个所述CPU,根据该CPU包括的各个所述核心的第二物理地址,分别获取该CPU包括的各个所述核心的使用率和空闲率;

针对于每一个所述CPU,根据该CPU包括的各个所述核心的使用率及空闲率,通过如下公式一计算该CPU的利用率并输出;

所述公式一为:

<mrow> <mi>&gamma;</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>M</mi> <mi>i</mi> </msub> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,所述γ为所述CPU的利用率,所述Mi为所述CPU中第i个核心的使用率,所述Ni为所述CPU中第i个核心的空闲率,所述n为所述CPU中包括的核心个数。

优选地,

在所述分别获取每一个所述核心的频率之后进一步包括:

针对于每一个所述核心,根据每一次获取到的所述频率以及对应的获取时间,形成对应于各个所述核心的频率变化日志。

优选地,

所述分别获取每一个所述核心的频率包括:

通过shell脚本,分别获取当前时间每一个所述核心的频率。

优选地,

所述根据各个所述核心的频率,形成对应于每一个所述核心的频率状态表包括:

通过Python脚本,根据各个所述核心的频率,形成对应于每一个所述核心的频率状态表。

本发明实施例还提供了一种监控CPU核心频率的装置,包括:第一获取单元、第二获取单元、频率监控单元及表格形成单元;

所述第一获取单元,用于获取至少一个CPU的第一物理地址,其中每一个所述CPU包括至少一个核心;

所述第二获取单元,用于针对于每一个所述CPU,根据所述第一获取单元获取的该CPU的第一物理地址,获取该CPU包括的各个核心的第二物理地址;

所述频率监控单元,用于每经过一个预设的间隔时间,根据所述第二获取单元获取的各个所述核心的第二物理地址,分别获取每一个所述核心的频率;

所述表格形成单元,用于根据所述频率监控单元获取的各个所述核心的频率,形成对应于每一个所述核心的频率状态表,并将所述频率状态表输出。

优选地,该监控CPU核心频率的装置进一步包括:第三获取单元;

所述第三获取单元,用于每经过一个所述间隔时间,针对于每一个所述CPU,根据所述第二获取单元获取的该CPU包括的各个所述核心的第二物理地址,分别获取该CPU包括的各个所述核心的使用率及空闲率;并针对于每一个所述CPU,根据该CPU包括的各个所述核心的使用率及空闲率,通过如下公式一计算该CPU的利用率并输出;

所述公式一为:

<mrow> <mi>&gamma;</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>M</mi> <mi>i</mi> </msub> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,所述γ为所述CPU的利用率,所述Mi为所述CPU中第i个核心的使用率,所述Ni为所述CPU中第i个核心的空闲率,所述n为所述CPU中包括的核心个数。

优选地,该监控CPU核心频率的装置进一步包括:日志形成单元;

所述日志形成单元,用于针对于每一个所述核心,根据所述频率监控单元每一次获取到的所述频率以及对应的获取时间,形成对应于各个所述核心的频率变化日志。

优选地,

所述频率监控单元,用于通过shell脚本,分别获取当前时间每一个所述核心的频率。

优选地,

所述表格形成单元,用于通过Python脚本,根据各个所述核心的频率,形成对应于每一个所述核心的频率状态表。

本发明实施例提供了一种监控CPU核心频率的方法及装置,首先获取CPU的物理地址,根据CPU的物理地址获取CPU包括的各个核心的物理地址;每经过预设的间隔时间,根据每一个核心的物理地址,获取各个核心的频率;根据各个核心的频率,形成对应于每一个核心的频率状态表,并将形成的频率状态表输出。这样,根据输出的频率状态表,可以确定CPU在工作过程中各个核心的频率变化情况,从而可以确定CPU的实际工作情况,根据各个核心的频率对服务器的性能进行评价时,提高了对服务器性能进行评价的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种监控CPU核心频率的方法流程图;

图2是本发明另一个实施例提供的一种监控CPU核心频率的方法流程图;

图3是本发明一个实施例提供的一种监控CPU核心频率的装置所在设备的示意图;

图4是本发明一个实施例提供的一种监控CPU核心频率的装置示意图;

图5是本发明另一个实施例提供的一种监控CPU核心频率的装置示意图;

图6是本发明又一个实施例提供的一种监控CPU核心频率的装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种监控CPU核心频率的方法,该方法可以包括以下步骤:

步骤101:获取至少一个CPU的第一物理地址,其中每一个所述CPU包括至少一个核心;

步骤102:针对于每一个所述CPU,根据该CPU的第一物理地址,获取该CPU包括的各个核心的第二物理地址;

步骤103:每经过一个预设的间隔时间,根据各个所述核心的第二物理地址,分别获取每一个所述核心的频率;

步骤104:根据各个所述核心的频率,形成对应于每一个所述核心的频率状态表,并将所述频率状态表输出。

本发明实施例提供了一种监控CPU核心频率的方法,首先获取CPU的物理地址,根据CPU的物理地址获取CPU包括的各个核心的物理地址;每经过预设的间隔时间,根据每一个核心的物理地址,获取各个核心的频率;根据各个核心的频率,形成对应于每一个核心的频率状态表,并将形成的频率状态表输出。这样,根据输出的频率状态表,可以确定CPU在工作过程中各个核心的频率变化情况,从而可以确定CPU的实际工作情况,根据各个核心的频率对服务器的性能进行评价时,提高了对服务器性能进行评价的准确性。

在本发明一个实施例中,在获取到CPU包括的各个核心的第二物理地址之后,每经过一个间隔时间,针对于每一个CPU,根据该CPU包括的各个核心的第二物理地址,分别获取该CPU包括的各个核心的使用率及空闲率;针对于每一个CPU,在获取到该CPU包括的各个核心的使用率及空闲率后,根据该CPU包括的各个核心的使用率及空闲率确定该CPU的利用率并输出。

其中,针对于任意一个CPU,根据该CPU包括的各个核心的使用率及空闲率,可以通过如下公式一计算该CPU的利用率;

所述公式一为:

<mrow> <mi>&gamma;</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>M</mi> <mi>i</mi> </msub> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,所述γ为CPU的利用率,Mi为CPU中第i个核心的使用率,Ni为CPU中第i个核心的空闲率,n为CPU中包括的核心的个数。

通过各个核心的使用率及空闲率计算CPU的利用率,将CPU的利用率与各个核心的使用率进行比较,可以判断CPU中各个核心的运行状况是否正常;将CPU的利用率作为另一个评价服务器性能的指标,提高对服务器性能进行评价的全面性及准确性。

在本发明一个实施例中,在获取到CPU中每个核心的频率之后,针对于每一个核心,根据每一次获取到的频率以及对应的获取时间,形成对应于各个核心的频率变化日志。这样,通过日志的形式记录CPU工作过程中各个核心的频率变化情况,通过对频率变化日志的分析,可以确定影响服务器性能提升及稳定性的核心,以便对相应的核心存在的缺陷进行消除,以提升服务器的质量。

在本发明一个实施例中,在获取核心的频率时,可以通过shell脚本分别获取当前时间每一个核心的频率,其中shell脚本包括以下代码:

cat/proc/cpuinfo|grep–i“cpu MHz”

由于shell的语法和结构比较简单,通过简单的shell脚本便可以获取各个核心的频率,减少了编写代码的任务量;通过shell脚本可以保证获取到的核心频率的准确性,以准确反映服务器性能测试及压力测试过程中CPU的工作情况。

在本发明一个实施例中,在根据核心频率形成对应于每一个核心的频率状态表时,可以通过Python脚本形成排版打印函数,将CPU的物理地址、核心的物理地址及核心的频率写入一个频率状态表,具体地Python脚本可以包括以下代码:

通过Python脚本形成的频率状态表,可以清晰的反应确定CPU中确定核心的频率,通过该频率状态表可以实时获取每一个CPU中各个核心的频率值,从而可以准确地确定CPU中每一个核心是否存在需要进行修复的设计缺陷,提高对服务器进行性能测试及压力测试时测试结果的准确性。

下面以包括有两个CPU的待测服务器为例,对本发明实施例提供的监控CPU核心频率的方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:

步骤201:对待测服务器进行性能测试或压力测试。

在本发明一个实施例中,为了保证服务器能够以较高的性能稳定地工作,需要对服务器进行性能测试及压力测试,以检测服务器的性能指标及大访问量下的稳定性。其中CPU的频率是服务器性能测试及压力测试过程中的重要指标,在检测CPU的频率时首先需要通过相应的测试软件对服务器进行访问,开始对待测服务器进性能测试或压力测试。

步骤202:获取CPU的总数及每一个CPU的第一物理地址。

在本发明一个实施例中,在对待测服务器开始性能测试或压力测试后,获取待测服务器上CPU的总数,并依次获取各个CPU的物理地址。

例如,通过shell脚本获取待测服务器上CPU的总数,其中获取CPU总数的shell脚本如下:

cpu_physical_number=`cat/proc/cpuinfo|grep–ic“physical”`

通过上述shell脚本获取到待测服务器上包括有两个CPU,分别为CPU1和CPU2,通过相应的shell脚本分别获取两个CPU的物理地址,其中CPU1的物理地址为CPUID1,CPU2的物理地址为CPUID2。

步骤203:根据各个CPU的物理地址,获取各个CPU包括的核心总数及各个核心的物理地址。

在本发明一个实施例中,在获取到CPU的物理地址后,根据CPU的物理地址获取该CPU包括的核心总数,根据核心总数获取各个核心的物理地址。

例如,在获取到CPUID1和CPUID2后,根据CPUID1和CPUID2,通过获取核心总数的shell脚本,分别获取CPU1和CPU2包括的核心的总数,其中获取核心总数的shell脚本如下:

core_number=`cat/proc/cpuinfo|grep–i“cpucores”`

通过上述获取核心总数的shell脚本,获取到CPU1包括4个核心,CPU2包括2个核心,其中CPU1包括的4个核心分别为core1、core2、core3及core4,CPU2包括的两个核心分别为core5和core6;

通过相应地获取核心物理地址的shell脚本,依次获取core1至core6共6个核心的物理地址,其中core1的物理地址为coreID1,core2的物理地址为coreID2,core3的物理地址为coreID3,core4的物理地址为coreID4,core5的物理地址为coreID5,core6的物理地址为coreID6。

步骤204:每隔预设的间隔时间,获取各个核心的频率、使用率及空闲率。

在本发明一个实施例中,预先设定间隔时间,在对待测服务器进行性能测试或压力测试的过程中,每经过一个间隔时间,根据各个核心的物理地址,对各个核心的频率、使用率及空闲率进行一次抓取。

例如,通过定义监控器的Python函数对获取核心频率、使用率及空闲率的间隔时间进行定义,其中定义监控器的Python函数如下:

通过上述定义监控器的Python函数定义间隔时间为3秒钟,没经过3秒钟,通过如下抓取核心频率的shell脚本对各个核心当前的频率进行一次抓取,通过如下抓取核心使用率及空闲率的shell脚本对各个核心当前的使用率及空闲率进行一次抓取,其中,

抓取核心频率的shell脚本为:

cat/proc/cpuinfo|grep–i“cpu MHz”

抓取核心使用率及空闲率的shell脚本为:

top|grep–i us

top|grep–isy

步骤205:根据各个核心的使用率及空闲率,计算各个CPU的利用率。

在本发明一个实施例中,在每一次后去到各个核心的使用率及空闲率之后,针对于每一个CPU,根据该CPU包括的各个核心的使用率及空闲率,通过如下公式一计算改CPU的利用率,

其中所述公式一为:

<mrow> <mi>&gamma;</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>M</mi> <mi>i</mi> </msub> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,所述γ为CPU的利用率,Mi为CPU中第i个核心的使用率,Ni为CPU中第i个核心的空闲率,n为CPU中包括的核心的个数。

例如,在一次对6个核心的使用率及空闲率进行抓取后,通过如下公式计算CPU1的利用率:

<mrow> <msub> <mi>&gamma;</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>M</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>M</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>M</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>M</mi> <mn>4</mn> </msub> </mrow> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <mo>)</mo> <mo>+</mo> <mo>(</mo> <msub> <mi>M</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <mo>)</mo> <mo>+</mo> <mo>(</mo> <msub> <mi>M</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>3</mn> </msub> <mo>)</mo> <mo>+</mo> <mo>(</mo> <msub> <mi>M</mi> <mn>4</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mfrac> </mrow>

其中M1、M2、M3及M4分别为core1、core2、core3及core4的使用率,N1、N2、N3及N4分别为core1、core2、core3及core4的空闲率,γ1为CPU1的利用率;

通过如下公式计算CPU2的利用率:

<mrow> <msub> <mi>&gamma;</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>M</mi> <mn>5</mn> </msub> <mo>+</mo> <msub> <mi>M</mi> <mn>6</mn> </msub> </mrow> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mn>5</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>5</mn> </msub> <mo>)</mo> <mo>+</mo> <mo>(</mo> <msub> <mi>M</mi> <mn>6</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>6</mn> </msub> <mo>)</mo> </mrow> </mfrac> </mrow>

其中M5及M6分别为core5及core6的使用率,N5及N6分别为core5及core6的空闲率,γ2为CPU2的利用率。

步骤206:根据各个核心的频率及各个CPU的利用率,形成频率状态表并输出。

在本发明一个实施例中,在获取到各个核心的频率,并计算出各个CPU的利用率后,通过相应的排版打印Python脚本,对核心的频率、核心的分布情况及CPU的利用率信息进行排版打印,形成频率状态后输出。其中,排版打印Python脚本如下:

步骤207:根据每一次获取到的核心频率及对应的获取时间,形成对应于各个核心的频率变化日志。

在本发明一个实施例中,每一次对核心的频率进行抓取后,通过相应地日志存储Python脚本,将抓取到的核心的频率值以及抓取核心频率的时间写入预定设定的日志文件,形成反应各个核心频率随时间变化的频率变化日志,其中日志存储Python脚本如下:

如图3、图4所示,本发明实施例提供了一种监控CPU核心频率的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的监控CPU核心频率的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的监控CPU核心频率的装置,包括:第一获取单元301、第二获取单元302、频率监控单元303及表格形成单元304;

所述第一获取单元301,用于获取至少一个CPU的第一物理地址,其中每一个所述CPU包括至少一个核心;

所述第二获取单元302,用于针对于每一个所述CPU,根据所述第一获取单元301获取的该CPU的第一物理地址,获取该CPU包括的各个核心的第二物理地址;

所述频率监控单元303,用于每经过一个预设的间隔时间,根据所述第二获取单元302获取的各个所述核心的第二物理地址,分别获取每一个所述核心的频率;

所述表格形成单元304,用于根据所述频率监控单元303获取的各个所述核心的频率,形成对应于每一个所述核心的频率状态表,并将所述频率状态表输出。

本发明实施例提供了一种监控CPU核心频率的装置,第一获取单元在获取各个CPU的第一物理地址后,第二获取单元根据第一获取单元获取到的第一物理地址获取CPU包括的各个核心的第二物理地址,频率监控单元根据核心的第二物理地址获取每一个核心的频率,表格形成单元根据频率监控单元获取到的频率形成频率状态表并输出。在对服务器进行性能测试或压力测试的过程中,根据表格形成单元输出的频率状态表可以确定服务器上CPU包括的各个核心的频率变化情况,从而可以确定CPU的实际工作情况,根据各个核心的频率对服务器的性能进行评价时,提高了对服务器性能进行评价的准确性。

在本发明一个实施例中,如图5所示,该监控CPU核心频率的装置进一步包括:第三获取单元501;

第三获取单元501,用于每经过一个预设的间隔时间,针对于每一个CPU,根据第二获取单元402获取的该CPU包括的各个核心的第二物理地址,分别获取该CPU包括的各个核心的使用率及空闲率;并针对于每一个CPU,根据该CPU包括的各个核心的使用率及空闲率,确定该CPU的利用率并输出。

在本发明一个实施例中,如图6所示,该监控CPU核心频率的装置进一步包括:日志形成单元601;

日志形成单元601,用于针对于每一个所述核心,根据频率监控单元403每一次获取到的频率以及对应的获取时间,形成对应于各个核心的频率变化日志。

在本发明一个实施例中,如图4至图6所示,频率监控单元403用于通过shell脚本,分别获取当前时间每一个核心的频率,其中shell脚本包括:

cat/proc/cpuinfo|grep–i“cpu MHz”

在本发明一个实施例中,如图4至图6所示,表格形成单元404用于通过Python脚本,根据各个核心的频率,形成对应于每一个核心的频率状态表,其中Python脚本包括:

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供的监控CPU核心频率的方法及装置,至少具有如下有益效果:

1、在本发明实施例提供的监控CPU核心频率的方法及装置中,首先获取CPU的物理地址,根据CPU的物理地址获取CPU包括的各个核心的物理地址;每经过预设的间隔时间,根据每一个核心的物理地址,获取各个核心的频率;根据各个核心的频率,形成对应于每一个核心的频率状态表,并将形成的频率状态表输出。这样,根据输出的频率状态表,可以确定CPU在工作过程中各个核心的频率变化情况,从而可以确定CPU的实际工作情况,根据各个核心的频率对服务器的性能进行评价时,提高了对服务器性能进行评价的准确性。

2、在本发明实施例提供的监控CPU核心频率的方法及装置中,针对于同一个CPU,根据该CPU包括的各个核心的使用率及空闲率计算该CPU的利用率,最终将该CPU的利用率及该CPU包括的各个核心的频率一起输出,通过将CPU的利用率与各个核心的使用率进行比较,可以判断CPU中各个核心的运行状况是否正常;将CPU的利用率作为另一个评价服务器性能的指标,提高对服务器性能进行评价的全面性及准确性。

3、在本发明实施例提供的监控CPU核心频率的方法及装置中,可以通过shell脚本获取CPU物理地址、核心物理地址、核心频率及核心使用率和空闲率时,由于shell的语法和结构比较简单,通过shell脚本抓取上述信息,可以减少编写代码的任务量;另外,通过shell脚本可以准确的抓取核心的频率,以保证能够准确地反映服务器性能测试及压力测试过程中CPU的工作情况。

4、在本发明实施例提供的监控CPU核心频率的方法及装置中,可以通过Python脚本对获取到的CPU物理地址、核心物理地址及核心的频率进行排版打印,将CPU物理地址、核心物理地址及核心的频率写入一个频率状态表。通过Python脚本形成的频率状态表,可以清晰的反应确定CPU中确定核心的频率,通过该频率状态表可以实时获取每一个CPU中各个核心的频率值,从而可以准确地确定CPU中每一个核心是否存在需要进行修复的设计缺陷,提高对服务器进行性能测试及压力测试时测试结果的准确性。

5、在本发明实施例提供的监控CPU核心频率的方法及装置中,在获取到的核心的频率后,将获取到的频率值及获取的时间写入预先创建的日志文件,形成频率变化日志,通过日志的形式记录CPU工作过程中各个核心的频率变化情况,通过对频率变化日志的分析,可以确定影响服务器性能提升及稳定性的核心,以便对相应的核心存在的缺陷进行消除,以提升服务器的质量。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1