您的位置:首页 > 运维架构

使用perfmon监控系统性能

2011-11-09 18:23 232 查看
《编程之美》里边有个讲控制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”选项”的错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: