Linux下的性能调优工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011417820/article/details/79959973

一般性能调试方法,查cpu,带宽,内存,堆栈,然后用perf等性能分析工具进行分析。

没啥时间写全部内容,先做个大纲备忘,后续再慢慢补充吧。

cpu:top

其实top命令就可以看到内存使用情况了,swap分区是否使用啦,内存够不够用啦
常用操作

内存:free

也可以使用这个命令看内存,-m 是指单位为兆显示内存容量

带宽:netstat

netstat -a 列出所有连接

堆栈信息:pstack

pstack pid 打出当前线程的 堆栈信息,看看有没有加锁之类的,
而且可以看到线程的运行情况

程序调试:strace

应用场景:网站服务器负载过大,网站数量又多,不知是那个网站占用太多资源
1. 查看 php-cgi 进程号:ps aux | grep php-cgi
2. 查看系统调用 strace -p 进程号
或者,将记录结果存在output.txt文件中
strace -o output.txt -T -tt -e trace=all -p 进程号

性能调试工具:Perf

另一篇文章
从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。
常用操作:
- 显示内核和模块中,消耗最多CPU周期的函数: perf top -e cycles:k
- 显示分配高速缓存最多的函数:perf top -e kmem:kmem_cache_alloc

性能监控工具:nmon

性能分析工具prof/gprof

显示执行所花费的时间具体都用在什么操作上

gprof精确地给出函数被调用的时间和次数,给出函数调用关系。


有其他好用的工具欢迎分享

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页