如何在NET Core中获取CPU使用率
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍"如何在NET Core中获取CPU使用率",在日常操作中,相信很多人在如何在NET Core中获取CPU使用率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年01月18日如何在NET Core中获取CPU使用率
这篇文章主要介绍"如何在NET Core中获取CPU使用率",在日常操作中,相信很多人在如何在NET Core中获取CPU使用率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何在NET Core中获取CPU使用率"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在 .NET Framework
中,很多人会用 PerformanceCounter
类做这件事情,
如下代码:
public class Program { public static void Main(string[] args) { while (true) { var cpuUsage = GetCpuUsageForProcess(); Console.WriteLine(cpuUsage); } } private static int GetCpuUsageForProcess() { var currentProcessName = Process.GetCurrentProcess().ProcessName; var cpuCounter = new PerformanceCounter("Process", "% Processor Time", currentProcessName); cpuCounter.NextValue(); return (int)cpuCounter.NextValue(); } }
但 PerformanceCounter
在.NETCore
中是没有的,所以只能采用其他方式了,其实在 System.Diagnostics.Process
类中有一个 TotalProcessorTime
属性,它可以准实时的统计当前进程所消耗的CPU处理器时间,
如下代码:
class Program { public static async Task Main(string[] args) { var task = Task.Run(() => ConsumeCPU(50)); while (true) { await Task.Delay(2000); var cpuUsage = await GetCpuUsageForProcess(); Console.WriteLine(cpuUsage); } } public static void ConsumeCPU(int percentage) { Stopwatch watch = new Stopwatch(); watch.Start(); while (true) { if (watch.ElapsedMilliseconds > percentage) { Thread.Sleep(100 - percentage); watch.Reset(); watch.Start(); } } } private static async TaskGetCpuUsageForProcess() { var startTime = DateTime.UtcNow; var startCpuUsage = Process.GetCurrentProcess().TotalProcessorTime; await Task.Delay(500); var endTime = DateTime.UtcNow; var endCpuUsage = Process.GetCurrentProcess().TotalProcessorTime; var cpuUsedMs = (endCpuUsage - startCpuUsage).TotalMilliseconds; var totalMsPassed = (endTime - startTime).TotalMilliseconds; var cpuUsageTotal = cpuUsedMs / (Environment.ProcessorCount * totalMsPassed); return cpuUsageTotal * 100; } }
可以看到程序每2s输出一次,观察到 output
和 任务管理器 中的CPU
利用率基本是一致的。
到此,关于"如何在NET Core中获取CPU使用率"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
使用率
学习
代码
更多
帮助
实用
一致
接下来
事情
任务
利用率
处理器
实时
属性
文章
方式
方法
时间
理论
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
教育部 地理信息软件开发
软件技术软件开发专业
php本地访问数据库出错
车身舒适软件开发
破解sqlite数据库代码
管家婆数据库介绍
睿宏无线网络技术有限公司
国家网络安全公司招聘
数据备份与网络安全的关系
网络安全法重点突出了哪两个对象
软件开发上班累不累
物联网情景模式数据库
公共数据集网络安全
全椒特定软件开发技术代理商
金湖辅助软件开发
辽宁大数据库安全
八重天数据库修改
服务器开启虚拟化
软件开发项目验收中甲方
长城科技网络安全
找不到电子邮箱服务器
对数据库安全的重要性认识
学嵌入式软件开发做测试
网络安全小课堂怎么做
高新区一站式网络技术市面价
2018江苏网络安全宣传周
淮南浩宇网络技术有限公司
了解影响网络安全的因素
互联网科技公司可以做劳务派遣吗
互联网科技产品介绍内容