C 获取系统和指定进程的CPU及内存占用率

2020-03-26

C# 获取系统和指定进程的CPU及内存占用率

本仓库提供了一个C#控制台应用程序的示例,通过封装两个类来实现对系统以及指定进程的CPU和内存占用率的监控。这一工具对于开发者在进行性能分析、优化软件资源使用时非常有用。它可以不仅监测整个系统的资源使用情况,还能精确到单个或同名的多个进程,为软件性能管理提供了便捷的方式。

功能特性

  • 系统资源监控:封装了方法以实时获取操作系统的整体CPU和内存使用百分比。

  • 进程资源监控:能够选择特定的进程ID或者通过进程名称来获取其CPU和内存的占用率。这对于多实例应用特别有用,可以分别监测每个实例的资源消耗。

  • 易于集成:示例代码结构清晰,便于理解和集成到其他C#项目中,适用于学习或实际项目中的性能检测场景。

使用说明

  1. 环境需求:此代码适用于.NET Framework或.NET Core/NET 5及以上版本。

  2. 如何运行
    • 下载仓库中的源码。
    • 打开解决方案文件(如果有)或直接用IDE打开.cs文件。
    • 编译并运行项目。
    • 根据提示,你可以选择查看系统资源占用,或输入进程名/ID查看特定进程的资源使用情况。
  3. 关键代码片段
    • 系统资源获取通常涉及定时调用PerformanceCounter类的相关计数器。
    • 进程资源获取则需要利用System.Diagnostics.Process类来查询进程信息。
  4. 注意事项
    • 运行时可能需要管理员权限,尤其是当监视其他非当前用户进程时。
    • 实时监控可能会有轻微的性能影响,请在生产环境中谨慎测试。

示例展示

示例代码展示了基础的使用方法,启动后会显示如何操作以获取所需数据。它教育性地展示了如何通过编程接口访问操作系统性能数据,是学习系统级编程和C#语言高级特性的良好起点。

通过这个简单的工具,开发者能更好地了解他们的应用在不同条件下的行为,进而做出相应的优化决策,确保应用高效稳定运行。

希望这个资源对您的开发工作有所帮助!如果在使用过程中遇到任何问题,欢迎参与讨论或贡献代码改进。

下载链接

C获取系统和指定进程的CPU及内存占用率