c# thread 一段时间后占满CPU
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# thread 一段时间后占满CPU相关的知识,希望对你有一定的参考价值。
软件用thread来采集网站数据,运行一段时间后就占cpu,不知道是什么问题。。程序很乱也不怎么好检查,
有sleep的,程序也能运行,就是运行几个小时后才出现的问题,我怀疑是httprequest占的cpu.不过我停止任务,cpu也没见降下来
还有就是多线程并发的话是占CPU的,就不清楚你出现的是哪种情况了追问
就像采集,是个无限循环,循环里面执行采集任务。几秒采集一次。有很多采集任务。
追答那就应该是线程并发的太多了
采集功能结束后销毁进程了吗?
嗯,我调试下。
本回答被提问者和网友采纳 参考技术B dyhh追问??
追答thread 开启后 里面是一个死循环,而且循环没有Sleep(1*time),导致cpu时间片连续占用,所以CPU高了
.
晕。
追答什么啊 本来就是啊
参考技术C 感觉是死循环了。。在thread加上断点 或者做一些一些用于定位的控制台输出很容易就可以找到哪里死循环了
centos的linux运行一段时间就假死了
服务器机器安装的centOS5.5(非虚拟机安装)。在自己的机器上用Tera Term,WinSCP连接服务器一段时间后就没有响应了。服务器端的桌面也死机了。
但是用dos命令ping服务器是有相应的,而且访问服务器启动的apache服务是有相应的。
然后top看看进程cpu利用率,内存占有率....确定是不是进程死了,还是cpu和内存占满了。
然后分析tail -f /var/log/messages| grep fail看看有什么线索。。。
如果分析不了,估计日志也死了,因为Linux里的日志系统syslogd和klogd都是系统服务。
所以如果真的死机,针对RHEL4系统可能要配置netdump,针对RHEL5需要配置kdump或者是xendump,这样可以尝试在系统死掉的时候把内存镜像整个抓出来分析。
注:如果经常出现这样的问题,但文本模式能用,可能是显卡问题了。。追问
显卡问题会导致用WinSCP连接linux服务器都连不上?
追答连上文本编辑模式,等它假死后,看看你文本模式能不能用,能用,就看看进程状态,确定是不是就死,在看cpu,内存。然后监听ssh服务。这只是给你一个思路。不行就看日志吧。像这种情况日志里面都能找到报错的。仔细看。
建议不要用winscp。像你这种情况一般就是winscp原因或显卡。。慢慢排吧!
如果是其它笔记本的话。最好就是直接安装(这个安装是先将硬盘全盘格式化后再分区安装windows与linux),这样安装后问题会少很多 。。而且安装的时候一定要注意一下安装的/boot的公位置。然后在windows里面用windows来启动linux。。方便又简单。。、、追问
整个台式机就一个linux系统
追答你是装的什么发行版的Linux??
追问CentOS5.5
追答如果是这样的话那应该是你的硬件的驱动原因,,你是用的第三方驱动来驱动桌面??显卡是哪种?
追问这台机器以前是windows系统,我把它完全格式化以后用CentOS安装的。如果我需要重新安装驱动,需要安装哪些硬件的驱动?
追答如果你是用的NVIDIA的显卡,那么你最好安装一下驱动。其余的驱动基本上不要改动。。
追问好,我去试试
这台机器是集成显卡。如何判断该装哪个驱动
追答集成显卡的话基本上不会有问题的。。这个你查看一下官方的手册看看。。有些硬件对于linux系统是有问题的。。有些主板也是一样的。你去查看一下。。
参考技术B 只是桌面死了?服务器为什么要桌面
有什么问题要看日志
如果命令行模式能用,可以试试重启下桌面
openrc: /etc/init.d/gdm(看你是gdm,kdm,lightdm了) restart
systemd: systemctl restart gdm追问
桌面死机导致任何连接方式都不能用。
以上是关于c# thread 一段时间后占满CPU的主要内容,如果未能解决你的问题,请参考以下文章