【summerlemon】:
看看是否对各个工作线程进行了同步控制。
先检查一下线程工作入口吧!
其实最好把代码发上来,关键的代码段。
【Wolf0403】:
一个晚上足够发生许多事情了...
你的程序是什么相关的?处理数据?I/O 服务?如果是前者,数据量增大的情况下可能会占用更多CPU(猜测)
打开 log 看有否线程死循环之类的情况?
【netxuning】:
to summerlemon()
to Wolf0403(废人); assert (!my["business"])
========================================
对,线程中有一段代码是用互斥锁锁住的,而且这段被锁住的代码中存在文件的读写操作!
谢谢回答!
【netxuning】:
代码写的很乱而且很庞杂,不过我会整理好贴上来的!
【Wolf0403】:
频繁切换线程、频繁系统调用等都会造成 CPU 占用升高,但正常 I/O 和锁定应该不是 CPU 占用升高的原因。
【netxuning】:
对,非常频繁!
是不是遇到互斥锁会极大地增高cpu占用?
还有为什么cpu的占用率一开始并不高