您的位置:首页 > 理论基础 > 计算机网络

Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率C#

2013-03-20 10:18 176 查看
本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5160822
转载请标明出处,原文地址:/article/1392153.html
欢迎关注微博:http://weibo.com/MoreWindows

Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率 C#
/article/1392153.html

前面《Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率》介绍了在Windows XP及Windows 7系统下获取CPU整体使用率,而目前大多数CPU都是多核CPU,因此本文来介绍如何获取多核CPU下各核的使用率
Windows系统CPU内存网络性能统计博客目录:
1.Windows系统CPU内存网络性能统计第一篇内存
/article/1392165.html
2.Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率
/article/1392154.html
3.Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率 C#
/article/1392153.html
4.Windows系统CPU内存网络性能统计第四篇 CPU多核CPU各核使用率 C++
/article/1392152.html

使用C#来获取多核CPU下各核的使用率是非常方便的。短短几行就能搞定,并且程序能正常运行于Windows XP及Windows 7系统中。下面先给出代码。
//Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率 C#
// 经过测试,可以在WinXP及Win7下使用
///article/1392153.html
using System;
using System.Diagnostics;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("    Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率 C#");
            Console.WriteLine(" - /article/1392153.html -");
            Console.WriteLine(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n"); 

            PerformanceCounter[] counters = new PerformanceCounter[ System.Environment.ProcessorCount ]; 
            for(int i = 0; i < counters.Length; i++)        
            {            
                counters[i] = new PerformanceCounter("Processor", "% Processor Time", i.ToString()); 
            }        
            while(true)        
            {          
                for(int i = 0; i < counters.Length; i++)       
                {             
                    float f = counters[i].NextValue();   
                    Console.Write("CPU-{0}: {1:f}%  ", i + 1, f);     
                }          
                Console.WriteLine();        
                Thread.Sleep(1000);       
            }   
        }
    }
}
由代码可以看出,主要是使用了System.Diagnostics中的PerformanceCounter类。这个类的功能强大,可以查阅MSDN的得到详细解释。

在WinXP系统运行结果如下(本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5160822):



在Win7系统运行结果如下(本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5160822):



由本篇《Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率 C#》(/article/1392153.html)可以看出,C#无疑是一门很方便的语言,对C/C++程序员来说,了解下C#是非常有帮助的。
下一篇《Windows系统CPU内存网络性能统计第四篇 CPU多核CPU各核使用率 C++》(/article/1392152.html)将介绍使用C++代码来引用C#编写的DLL来完成在C++下获取多核CPU各核使用率。

本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5160822
转载请标明出处,原文地址:/article/1392153.html
欢迎关注微博:http://weibo.com/MoreWindows
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: