运行程序时,cpu的使用率突然降到很低的问题
运行程序,刚开始时cpu使用率正常一直稳定在50%以上,不过运行10多分钟以后,使用率开始下降,且下降很快,过了2分钟降到2%~9%,并且以后一直维持这个水平,害得我程序跑了一宿,还没跑出结果。然后又调试了一下午,仍然没有结果。到底什么原因?请教下各位。
[解决办法]
应该是在某个环节阻塞,而这个阻塞不可退出。
再者就是这个阻塞是可退出的,不过长期大量时间消耗在这上面,比如循环阻塞,阻塞时间过长等等。
[解决办法]
个人感觉可能是死锁了或者进入某个死循环。
这种现象感觉LZ应该好好查一下代码,运行的时候打一下log排查一下
[解决办法]
观察机器运行状态,如果CPU占用率降低的同时硬盘指示灯长亮,则多半是你的机器耗尽了内存,导致系统处在不停的内存页面交换状态。
耗尽内存有可能是这些:你申请了太大内存,以至于机器不能提供足够的内存给你使用,不得不靠虚拟内存来提供空间;你的程序里发生内存泄露,而且很严重。
[解决办法]
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!