C# Winform程序CPU占用高的原因和解决方法

程序CPU占用高的可能原因:

1、存在死循环;

为什么死循环会导致CPU占用高呢?
      虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下一个进程。但是,当进入别的进程后,若该进程告诉系统它现在不需要做什么,不需要那么多的时间,这个时候,系统就会切换到下一个进程,当切换到死循环所在进程后,由于它一直在循环,永远告诉系统它有事情做(实质仅在死循环,没做任何事),那么系统就尽可能的将其他进程省下了的时间让它做死循环了,CPU占用不高才怪咧。
解决方法:在死循环中添加“Thread.sleep(50);”

        public void HsThread()
        {
            while (true)
            {
                //在死循环里休眠50毫秒即可解决
                Thread.Sleep(50);
            }
        }

---------------------

原文:https://blog.csdn.net/youarenotme/article/details/80092327
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/qixiaolan/p/10167680.html

时间: 2024-12-30 00:15:11

C# Winform程序CPU占用高的原因和解决方法的相关文章

Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法

Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法 在企业版Eclipse中,在已经启动了Tomcat服务器后,准备运行页面或Servlet时,有时会出现这样的关于Tomcat服务器端口占用的问题: “Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be running in ano

MySQL 实例空间使用率过高的原因和解决方法

用户在使用 MySQL 实例时,会遇到空间使用告警甚至超过实例限额被锁定的情况.在 RDS 控制台的实例基本信息中,即会出现如下信息: 本文将介绍造成空间使用率过高的常见原因及其相应的解决方法.对于MySQL 5.6版本的实例,升级实例规格和存储空间后即可解锁实例,关于如何升级实例配置,请参见变更配置. 常见原因 造成 MySQL 实例空间使用率过高,主要有如下四种原因: Binlog 文件占用高. 数据文件占用高. 临时文件占用高. 系统文件占用高. 查看空间使用状况 您可以通过 DMS 中的

找出程序cpu使用率高的原因

确定是CPU过高 使用top观察是否存在CPU使用率过高现象 找出线程 对CPU使用率过高的进程的所有线程进行排序 ps H -e -o pid,tid,pcpu,cmd --sort=pcpu |grep xxx得到如下结果,其中线程2909使用了7.8%的CPU. 2907 2913 0.0 ./xxx 2907 2909 7.8 ./xxx也可以通过查看/proc中的信息来确定高CPU线程. 打印了4列,线程ID,线程名,用户时间和内核时间(排名未分先后) awk '{print $1,$

(转)(VS2013 )由于应用程序配置不正确,程序未能启动”--原因及解决方法

今天把别人的程序拿过来编译时通过,但是运行的时候,提示:由于应用程序配置不正确,程序未能启动 搜了一下,各种方法.最终通过下面的方法解决的. 项目--->配置属性---->链接器---->清单文件--->生成清单-->设置为"否" . 然后重新生成解决方案,编译,搞定. 转自:http://blog.chinaunix.net/uid-25958655-id-4233307.html

mysql占用服务器cpu过高的原因以及解决办法

排查方法 : > mysql -uroot -p      #登陆数据库 >********                    #输入数据库密码 mysql> show processlist; show processlist 命令详解: processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句. +-----+-------------+--------------------+-------+---------+-------+--------

【性能优化】RDS MySQL IOPS 使用率高的原因及解决方法

[1. 问题描述] [2. 查找原因] [3. 解决问题] 本文网址[tom-and-jerry发布于2017-05-20 18:46] http://www.cnblogs.com/tom-and-jerry/p/6882857.html

Nodejs mkdirP 模块导致CPU占用高的问题

Nodejs mkdirP 模块导致CPU占用高的问题 近期将nodejs项目部署到服务器上并启动时,发现node进程的cpu占用率在40%左右,当时表示非常不解,刚启动的服务并没有运行什么需要大量消耗cpu的逻辑,且此时还未有请求发送到服务器端. 鉴于这种情况,只能猜测是某段程序在初始化一些东西的时候异常,所以才导致了这种情况. 经过对代码的排查后,最终锁定出为题的代码块如下: router.use(multer({ dest: config.uploadDir, limits:{ fileS

WinDbg调试CPU占用高的问题 试验+实战 《第七篇》

一.High CPU试验 1.示例代码 static void Main(string[] args) { Console.Clear(); Console.WriteLine("到命令行下,切换到windbg目录,执行adplus -hang -pn highcpu.exe -o c:\\dumps"); Console.WriteLine("如果要停止,按Ctrl+C结束程序"); Console.WriteLine("================

SQLSERVER排查CPU占用高的情况

SQLSERVER排查CPU占用高的情况 今天中午,有朋友叫我帮他看一下数据库,操作系统是Windows2008R2 ,数据库是SQL2008R2 64位 64G内存,16核CPU 硬件配置还是比较高的,他说服务器运行的是金蝶K3软件,数据库实例里有多个数据库 他说是这几天才出现的,而且在每天的某一个时间段才会出现CPU占用高的情况 内存占用也很高,占用了30个G -----------------------------------------------华丽的分割线-------------