使用.NET FrameWork获取CPU,内存使用率以及磁盘空间
2014-02-23 14:20
435 查看
原文:使用.NETFrameWork获取CPU,内存使用率以及磁盘空间在以前,我们想获取CPU,内存等信息就不得不借助win32API来实现。但现在,.NETFrameWork已经把这些API封装到.NET类库中了,所以我们可以借助.NET类库很轻松的获取这些信息。首先,介绍几个要用到的类:
PerformanceCounter:表示windowsNT性能计数器组件
ComputerInfo:提供用于获取与计算机内存,已加载程序集,名称和操作系统有关信息的属性
DriveInfo:该类位于System.IO命名空间下,提供对有关驱动器信息的访问
介绍完几个必要的类,就开始实践吧:
Demo下载:
demo
PerformanceCounter:表示windowsNT性能计数器组件
ComputerInfo:提供用于获取与计算机内存,已加载程序集,名称和操作系统有关信息的属性
DriveInfo:该类位于System.IO命名空间下,提供对有关驱动器信息的访问
介绍完几个必要的类,就开始实践吧:
1.初始化几个变量:
this.cpu=newPerformanceCounter("Processor","%ProcessorTime","_Total"); this.cinf=newComputerInfo();
2.获取占用CPU的百分比
publicdoubleGetCpuPercent() { varpercentage=this.cpu.NextValue(); returnMath.Round(percentage,2,MidpointRounding.AwayFromZero); }
3.获取占用内存的百分比
publicdoubleGetMemoryPercent() { varusedMem=this.cinf.TotalPhysicalMemory-this.cinf.AvailablePhysicalMemory;//总内存减去可用内存 returnMath.Round( (double)(usedMem/Convert.ToDecimal(this.cinf.TotalPhysicalMemory)*100), 2, MidpointRounding.AwayFromZero); }
4.获取磁盘剩余空间及总空间
///<summary> ///根据盘符获取磁盘信息 ///</summary> ///<paramname="diskName"></param> ///<returns>一个自定义类对象</returns> publicHardDiskInfoGetHardDiskInfoByName(stringdiskName) { DriveInfodrive=newDriveInfo(diskName); returnnewHardDiskInfo{FreeSpace=GetDriveData(drive.AvailableFreeSpace),TotalSpace=GetDriveData(drive.TotalSize),Name=drive.Name}; } ///<summary> ///获取所有驱动盘信息 ///</summary> ///<returns></returns> publicIEnumerable<HardDiskInfo>GetAllHardDiskInfo() { List<HardDiskInfo>list=newList<HardDiskInfo>(); foreach(DriveInfodinDriveInfo.GetDrives()) { if(d.IsReady) { list.Add(newHardDiskInfo{Name=d.Name,FreeSpace=this.GetDriveData(d.AvailableFreeSpace),TotalSpace=this.GetDriveData(d.TotalSize)}); } } returnlist; } privatestringGetDriveData(longdata)//将磁盘大小的单位由byte转化为G { return(data/Convert.ToDouble(1024)/Convert.ToDouble(1024)/Convert.ToDouble(1024)).ToString("0.00"); } classHardDiskInfo//自定义类 { publicstringName{get;set;} publicstringFreeSpace{get;set;} publicstringTotalSpace{get;set;} }
运行结果:
Demo下载:
相关文章推荐
- 使用.NET FrameWork获取CPU,内存使用率以及磁盘空间
- 使用.NET FrameWork获取CPU,内存使用率以及磁盘空间
- Python获取CPU、内存使用率以及网络使用状态代码
- 使用.NET FrameWork获取CPU,内存使用率以及磁盘空间
- .NET获取当前程序所在电脑的CPU和内存使用率
- JAVA获取JVM内存使用以及服务器CPU,硬盘使用方法
- 使用exec的top命令获取内存和cpu的使用率
- Linux下使用java获取cpu、内存使用率
- ASP.NET(c#)中取得当前计算机CPU 内存使用率等相关信息
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- 利用java获取计算机cpu利用率和内存使用信息
- 使用CACTI监控H3C设备的CPU和内存使用率
- python自动化运维学习------使用模块psutil获取系统cpu、内存、磁盘、网络、进程等信息
- Python获取CPU使用率、内存使用率、网络使用状态
- asp.net中获取本机的相关信息!(CPU、内存、硬盘序列号等)
- 使用python获取CPU和内存信息(linux系统)
- python获取linux系统内存、cpu、网络使用情况
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用