进程的启动是软件优化的一个很重要的领域,我总结的优化方法和步骤如下:
1、使用strace跟踪进程的启动过程。
好处是不用修改代码,简单、方便。这时主要的精力放在观察进程在启动的时候,都做了哪些事情,是不是有些冗余的事情。如果找到可疑点,再进入到代码进行相应的查找。
2、在main函数的第一句和显示出来的地方加如一些log,观察在进程启动到main函数以及main函数到显示出来部分时间的比例。
3、如果是进程启动到main函数用时比较长,则可以采用以下方法
去除冗余的动态库
某些动态库改为dlopen的方式
使用LD_HELP跟踪动态库加载的过程,
动态库的初始化函数优化
4、如果是main函数之后时间较长,这时一般是顺序执行一大堆事情,没有太明显的热点函数,使用oprofile的效果不太理想,不过也可以试一试。
在程序中多加入一些log,查找用时较长的部分,进行优化。
5、如果以上方法还是无效,可以采用调度的方式进行优化。
比如说preload等等。
阅读(2127) | 评论(0) | 转发(0) |