使用perfmon监控系统性能

《编程之美》里边有个讲控制CPU占用率曲线的例题,里面讲到使用perfmon工具来帮助我们实现控制CPU占用率曲线的功能。

perfmon工具可以监控系统的各个系能参数,在.NET Framework中也提供了操作perfmon的相应类。我们只要根据需要取得实例句柄进行操作就行。(注意,因为perfmon是一个程序实例,我们不能直接用new来实例化一个对象。)

关于perfmon的知识,在MSDN上有很多讲解和实例。下面是一个根据用户输入控制CPU占用率曲线的程序。

#include <iostream>
#include <windows.h>
#using  <System.dll>

using namespace std;
using namespace System::Diagnostics;

void MakeUsage(float level)
{
    PerformanceCounter^ temp = gcnew PerformanceCounter("Processor", "% Processor Time", "_Total"); // 注意,不能用new,因为这是一个引用类型。再者,这是个计数器。
    while(true)
    {
        if(temp->NextValue() > level)
        {
            Sleep(10);
        }
    }
}
int main()
{
    float level(0);
    cin >> level;
    MakeUsage(level);
    return 0;
}

编译运行程序,输入cpu占用率水平,运行perfmon可查看到。

如输入:50

备注:

编译程序前,要添加公共语言运行库属性,不然会出现“fatal error C1190: 托管目标代码需要“/clr”选项”的错误。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值