今天早上看到了编程之美,我很兴奋,大早上看书,有吗? 有木有?
哈哈
想想第一节的东西。CPU占用曲线,很经典,导致我很淡定的实现了一个,主要问题
1.我电脑是双核的
2.我CPU周期很不稳定
3.OS内运行了很多东西,比如360等
由于以上的原因,我选择了书上给的C#实现,还有就是书上给的多核的建议
实现发现,code趋势在49和50左右徘徊
CPU50%稳定率为80%左右
如果有更好的建议请给我留言
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace TestForCPUByCSharp
{
class Program
{
[DllImport("kernel32.dll")]
static extern UIntPtr SetThreadAffinityMask(IntPtr hThread, UIntPtr dwThreadAffinityMask);
[DllImport("kernel32.dll")]
static extern IntPtr GetCurrentThread();
static void Main(string[] args)
{
SetThreadAffinityMask(GetCurrentThread(), new UIntPtr(SetCpuID(1)));
PerformanceCounter p = new PerformanceCounter("Processor", "%Processor Time", "_Total");
while (true)
{
if (p.NextValue() > 0.5)
{
System.Threading.Thread.Sleep(10);
}
}
}
static ulong SetCpuID(int id)
{
ulong cpuid = 0;
if (id < 0 || id >= System.Environment.ProcessorCount)
{
id = 0;
}
cpuid |= 1UL << id;
return cpuid;
}
}
}
分享到:
相关推荐
总结,这个C# .NET守护程序实现了自动重启进程和CPU占用率监控,对于保障系统稳定性和效率具有重要作用。开发者可以通过调整代码来适应不同的应用场景,确保关键服务的正常运行。在部署和使用时,务必考虑安全性和...
1. 获取系统CPU占用率: - 首先,创建两个`PerformanceCounter`实例,分别用于跟踪“% Processor Time”(CPU时间)的“Total”实例和“Idle”实例。 - 计算这两个值的差,得到的就是CPU的非空闲时间百分比,即CPU...
本项目专注于使用C#编程语言实现一个任务管理器功能,特别关注于获取CPU占用率较高的前三个进程,这对于识别系统性能瓶颈、优化资源分配以及诊断潜在问题具有重要价值。 首先,我们要理解CPU占用率的概念。CPU占用...
C#实现关闭程序最小化到右下角托盘源码C#实现关闭程序最小化到右下角托盘源码C#实现关闭程序最小化到右下角托盘源码C#实现关闭程序最小化到右下角托盘源码C#实现关闭程序最小化到右下角托盘源码C#实现关闭程序最小化...
CPU利用率指的是CPU在单位时间内处于忙碌状态的时间比例,而内存使用率则反映了系统分配给程序的内存在当前时刻的占用比例。 在C#中,我们可以使用`System.Diagnostics`命名空间中的类来获取这些信息。其中,`...
在本文中,我们将深入探讨如何使用C#编程语言来实现一个CPU使用率监控程序,根据提供的标题和描述,我们可以了解到这个程序能够实时监测Windows系统的CPU使用情况,并且其监测结果虽然可能与系统资源管理器显示的...
当有了进程对象后,可以通过进程对象名称来创建PerformanceCounter类型对象,通过设定PerformanceCounter构造函数的参数实现获取特定进程的CPU和内存使用情况。 具体实例代码如下: 首先是获取本机中所有进程对象,...
用C#编写的应用程序占用CPU和内存大小数据采集软件,数据库sql脚本在db目录里,可以自行设置所要采集的应用程序,具体设置在app.config配置文件里设置,已经有很详细的注释,该资源为软件源码,希望对您有帮助
显示CPU占用大于0的进程,定时刷新 可以查看当前系统运行的各进程cpu占用率 在CSDN上找到两个都不太好用,自己写了一个VS2013环境下编译通过 也可以直接运行\bin\Debug目录下的ConsoleApplication1.exe文件 用途:...
C#2.0进程CPU占用率,使用性能计数器实现,控制台程序
以下是一些有效的策略来减少C#程序的CPU占用率: 1. **线程优化**: - **多线程**:合理分配任务到多个线程,让CPU能够并行执行不同的计算任务,从而提高整体效率。但要注意避免过多的线程切换,因为这本身也会...
在C#编程环境中,获取CPU利用率是通过操作系统提供的性能计数器来实现的。性能计数器是一种系统级别的数据采集工具,它允许程序实时监控系统的各种性能指标,如CPU使用率、内存使用情况等。下面将详细介绍如何使用C#...
以上就是使用WPF和Visifire实现监控Windows系统内存和CPU占用的基本流程。在实际项目中,你可能还需要考虑其他因素,如错误处理、资源管理、界面响应性等。通过这种方式,你可以创建出具有专业级数据可视化的应用...
在“CPU压力测试-vs2010中C#程序”这个主题下,我们将深入探讨如何利用Visual Studio 2010这款强大的开发工具,用C#编程语言编写程序来对CPU进行压力测试。C#是一种广泛应用的面向对象的编程语言,尤其在Windows平台...
在C#编程中,监测和管理系统的CPU使用率和内存消耗是至关重要的任务,尤其是在开发高性能的应用程序时。本文将详细解析如何使用C#来实现这一功能,主要涉及的类库是System.Diagnostics命名空间,包括...
在本文中,我们将深入探讨如何使用C#进行系统监测,特别是实时监测CPU和内存的使用情况。C#是一种广泛应用于Windows平台的编程语言,尤其适用于开发桌面应用和系统级工具。利用C#,我们可以轻松地获取系统性能数据,...
本篇文章将详细介绍如何使用C#来实现一个窗口应用,实时显示系统CPU使用率和内存占用率。 首先,我们需要引入必要的系统管理库,这是通过引用`System.Diagnostics`命名空间来实现的。这个命名空间包含了处理系统...
CPU_Z程序是一个利用C#实现的工具,它通过Windows Management Instrumentation(WMI)来获取并显示计算机CPU的详细状态信息。WMI是微软提供的一种系统管理基础设施,它允许程序员访问和操作系统的各种管理数据。 **...
本文将深入探讨如何使用C#编写程序来监控和显示系统的CPU使用率,以此为基础,我们将在Visual Studio 2008环境下进行讨论。 首先,CPU使用率是指计算机中央处理器在一段时间内被占用的百分比,它反映了系统负载情况...
于是乎,就得到一个结论,减少CPU占用率,可以通过减少使用的CPU数量,在Window系统下,打开一个exe程序,系统会默认使用所有CPU作为处理。 是不是减少CPU使用数量,就可以减少CPU占用率呢,答案是肯定的。 参考...