在服务器程序开发中,遇到比较头痛的问题是程序的稳健性和效率问题。本博文针对效率问题中的CPU瓶颈。
一个调用占用CPU比较大,直观的指标是其耗时比较长,因此只要确认每个调用的耗时。
方法一:strace
通过strace命令,可以查看程序中每个系统调用的耗时情况。具体使用:strace -c ./demo
方法二:pgrof
通过pgrof命令,可以查看每个用户调用的耗时情况,具体见“常用profile工具使用(四)gprof”。其缺陷是只能统计主线程,以及必须正常退出(改代码,在信号处理函数中,显示exit(0))。具体使用方法是:gprof -b -A -p -q test gmon.out > pg
lsof命令是将列出系统中打开的文件,必须是root权限。