在我的应用程序中,我想在每次1秒的间隔中显示cpu和内存使用情况。请帮我详细说明。 我尝试过: iam使用PerformanceCounter来获取此信息,但它与系统的cpu使用情况不一致。请找到我的应用程序中使用的代码。 PerformanceCounter cpuCounter; cpuCounter = new PerformanceCounter(Processor,%特权时间,_总计); lbl_cpu_usage.Text = Convert.ToInt32(cpuCounter.NextValue())。ToString()+%;(此代码写在计时器刻度事件中。
In my application i want to display cpu and memory usage in every time intervel of 1 second. Please help me to get exact details. What I have tried: iam using PerformanceCounter to get this information, but it is not correct with cpu usage of system. Please find the the code that are used in my application. PerformanceCounter cpuCounter; cpuCounter = new PerformanceCounter("Processor", "% Privileged Time", "_Total"); lbl_cpu_usage.Text = Convert.ToInt32(cpuCounter.NextValue()).ToString() + "%";(This code is written in the timer tick event.
推荐答案性能计数器对象通常需要两个相隔1到2秒采样的值才能给出准确的读数..虽然我讨厌我的事实在这里使用线程延迟,我想不出更简单的方法 - 看到我添加到你的代码中的两行粗体 - 看看是否使它更准确 Performance counter objects in general need two values sampled at 1 - 2 seconds apart to be able to give accurate readings .. although I hate the fact I'm using a thread delay here, I can't think of a simpler way - see the two lines in bold I've added to your code - see if that makes it more accurate PerformanceCounter cpuCounter; cpuCounter = new PerformanceCounter("Processor", "% Privileged Time", "_Total"); cpuCounter.NextValue(); System.Threading.Thread.Sleep(1000); lbl_cpu_usage.Text = Convert.ToInt32(cpuCounter.NextValue()).ToString() + "%";
[edit] ref:表演计数器价值检索 [ ^ ] [/ edit]
[edit] ref : Performance Counter Value Retrieval[^] [/edit]
更多推荐
如何在C#winforms中获取系统的CPU使用率和内存使用率?
发布评论