当前位置: 技术问答>linux和unix
linux 程序 system cpu 占用较高说明什么问题?
来源: 互联网 发布时间:2016-05-11
本文导语: linux 程序 system cpu 占用较高说明什么问题? | 这说明你的程序在执行过程中,有如下几种情况中的一种或者多种情况发生: 1. 进入了一个死循环无法跳出来; 2. 也许是一直在等待一个信...
linux 程序 system cpu 占用较高说明什么问题?
|
这说明你的程序在执行过程中,有如下几种情况中的一种或者多种情况发生:
1. 进入了一个死循环无法跳出来;
2. 也许是一直在等待一个信号,如从dbus上读取一个你需要的信息;
3. 有可能是你的程序在对一个非常大的内容进行分析和处理;
4. 有可能是你的程序要处理的问题比较多,所以在一个个慢慢的执行。
大部分是由上面四种情况引起的,在这四种情况中,第一种情况坚决要避免,因为不如此,那么你的CPU资源将会被吃光。第二种情况,我的想法是,你要修改一下,看看有没有什么更快,更高效的方法来获取到需要的信号,或者是不去获取信号,而是改用其他方式来处理。第三和第四两种情况,就要根据你的实际需要来定了。如果是必须这样做,那么也只能够耐心的等待了。但是可以考虑优化代码,优化算法的方式来提高效率。
Linux系统下有个很好的调试工具gdb。如果不知道自己的程序出现了什么问题,可以利用gdb工具逐步执行,去查找错误所在。
1. 进入了一个死循环无法跳出来;
2. 也许是一直在等待一个信号,如从dbus上读取一个你需要的信息;
3. 有可能是你的程序在对一个非常大的内容进行分析和处理;
4. 有可能是你的程序要处理的问题比较多,所以在一个个慢慢的执行。
大部分是由上面四种情况引起的,在这四种情况中,第一种情况坚决要避免,因为不如此,那么你的CPU资源将会被吃光。第二种情况,我的想法是,你要修改一下,看看有没有什么更快,更高效的方法来获取到需要的信号,或者是不去获取信号,而是改用其他方式来处理。第三和第四两种情况,就要根据你的实际需要来定了。如果是必须这样做,那么也只能够耐心的等待了。但是可以考虑优化代码,优化算法的方式来提高效率。
Linux系统下有个很好的调试工具gdb。如果不知道自己的程序出现了什么问题,可以利用gdb工具逐步执行,去查找错误所在。