2、查看程序(linux环境下)运行资源消耗 top命令,CPU占用率达到了98%
问题分析
1、反复查看线程中程序执行步骤,并没有高耗CPU的 *** 作
2、查看程序优化的百度经验,优化一些算法,但也不能CPU占用率达到98%
3、最后多次查看线程概念、原理得出结论:
线程就是一个死循环,线程要有跳出语句,要预留出其他程序的运行的时间片
解决:
while(1)中加入sleep(),防止一直占用CPU
---恢复内容结束---
使用strace或者ltrace来查看线程等待时间:strace -tT -f -p pid
其中t参数表示显示线程等待时间,f表示同时跟踪系统调用的进程,p表示指定要跟踪的进程的进程号(PID)。
比如:再查看某个PID为10086的进程的线程等待时间,可以使用以下命令:
strace -tT -f -p 10086
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)