C#.NET程序CPU不断增加,甚至卡机,内存却维持不变,可能有哪些原因?

蔡袅 2011-07-26 09:00:37
RT。

每次提问100分,没分了,只能这么多了..
...全文
351 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
蔡袅 2011-07-29
  • 打赏
  • 举报
回复
sp1234
那有什么可以检测哪里的代码导致CPU消耗大呢??
ChrisAK 2011-07-29
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sp1234 的回复:]

这基本上是一个素质问题,需要具有从头学起的精神。如果你只是从各种入门书上学的编程,那么你设计程序流程是,就可能彻头彻尾都是一堆函数调用的思维,而不是异步多线程调用的思维。根本没有那个意识。
[/Quote]说得不错,但不对题.你说的情况大多会导致程
序运行极慢或是卡死.但很少导致cpu消耗过高.
至于lz的情况...查查死循环比较好.
hui_play 2011-07-29
  • 打赏
  • 举报
回复
引起这种原因可能有很多,你一个一个的猜好像确实没头绪,我想的办法就是,如果这个程序是你开发的,那么你肯定有之前一些阶段的版本,你可以跑跑以前的版本,如果没问题,在研究你都新增什么了,这么找能块点,个人感觉。
蔡袅 2011-07-29
  • 打赏
  • 举报
回复
各位大侠们推荐下好的CPU消耗及性能检测工具??求技术安慰。
  • 打赏
  • 举报
回复
这基本上是一个素质问题,需要具有从头学起的精神。如果你只是从各种入门书上学的编程,那么你设计程序流程是,就可能彻头彻尾都是一堆函数调用的思维,而不是异步多线程调用的思维。根本没有那个意识。
  • 打赏
  • 举报
回复
随便举个例子,比如你的程序经常需要读写文件,那么读写文件时CPU大部分时间都是在那里空闲的,程序阻塞在底层驱动要等待外设通讯方面。这时候,如果你不用多线程思路,就显然很不专业。对于大量进行通讯、大量使用GPU等等程序,也是一样。何况现在CPU内核越来越多,学会编写异步多线程程序越来越重要。
蔡袅 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wind_and_cloud 的回复:]
可能是死锁造成的吧,确切原因只能用工具分析下了。
[/Quote] 能用什么工具呢?
hen_ai_hen_ai_ni 2011-07-26
  • 打赏
  • 举报
回复
楼上说的都是解决方法,这种情况还得去追踪的去看
panghuhu250 2011-07-26
  • 打赏
  • 举报
回复
Use profiler.
最后一只恐龙 2011-07-26
  • 打赏
  • 举报
回复
死循环,递归太深都可能这样
ZhangNan20100811 2011-07-26
  • 打赏
  • 举报
回复
内存不变,CPU不断增加,也遇到过,mark!
xuexiaodong2009 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 supertyro 的回复:]

排查线程:
1.是否有空转线程存在
2.是否有冗余线程存在
3.是否浪费线程(该关闭挂起暂停的,都没做处理)

希望能够帮到你。
[/Quote]看看是否有死锁,多半是死锁造成的
SuperTyro 2011-07-26
  • 打赏
  • 举报
回复
排查线程:
1.是否有空转线程存在
2.是否有冗余线程存在
3.是否浪费线程(该关闭挂起暂停的,都没做处理)

希望能够帮到你。
蔡袅 2011-07-26
  • 打赏
  • 举报
回复
程序用到了多线程,锁。及VC底层UDP数据实时上报解析。
jojoova 2011-07-26
  • 打赏
  • 举报
回复
死循环吗?瞎猜的
Randy 2011-07-26
  • 打赏
  • 举报
回复
能不能说具体一点?
wind_and_cloud 2011-07-26
  • 打赏
  • 举报
回复
可能是死锁造成的吧,确切原因只能用工具分析下了。
无常名 2011-07-26
  • 打赏
  • 举报
回复
80%是循环出现了问题。。。。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧