首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

性能调优总结

2013-04-09 
性能调优小结? ? ? ?在工作中经常遇到说系统慢,响应不过来,怎么查找系统的瓶颈?系统的瓶颈主要是cpu、内容、

性能调优小结

? ? ? ?在工作中经常遇到说系统慢,响应不过来,怎么查找系统的瓶颈?系统的瓶颈主要是cpu、内容、io等。下面以linux系统为例。

? ? ? ?1、首先采用vmstat 1查看一下cpu和内存使用情况,注意里面的运行队列项r项,如果r项经常超过机器的cpu数,则要考虑关注是否是cpu瓶颈。si、so项经常不为0,则意味着系统大量使用swap,则要考虑内存瓶颈了。如果初步断定为cpu瓶颈,则先找出引起瓶颈的程序,重点想办法优化,可以使用top,perf top或者oprofile找出最耗cpu的进程,进一步用perf工具进行采样跟踪,如果有源代码,perf将是一把性能分析的屠龙宝刀。

? ? ? ?2、如果内存和cpu使用不多,系统表现慢,则下一步检查一下磁盘和网络。iostat 1检查一下磁盘使用程度,iostat -x检查磁盘的读写队列的长度,systemtap中的disktop.stp和iotop.stp、nettop.stp这几个东西也比较有用,可以让你很快找出耗磁盘和网络设备的最多的程序。netstat -s也可以检查网络的繁忙状态。磁盘的优化手段主要有顺序读写和随机读写分开不同的物理盘,读写热点分开不同物理盘,磁盘条带化等。

? ? ? ?3、如果排除上面原因,程序还是比较慢,一般情况下可以是程序的问题了,有可能是竞态条件引起系统等待,或者系统上下文切换过多。在一般的应用系统上,很多是因为连接数据处理不过来导致,如果能知道程序现在在做什么,对分析就很有帮助了,此时strace、gdb、perf就很有帮助了,如果是java,也可以采用java dump,重点是找出引起系统忙和等待的代码,这需要经验和具体分析了。lantencytop可以分析是那种原因造成延迟。

? ? ? ?系统调优,不同的子系统有不同的工具分析,懂得越多,分析问题的思路越广,问题定位就越准确。下面的针对不同的子系统的不同工具。

性能调优总结

?

? ? ? ? 调优是一个很有技术含量的活,佩服充分利用硬件的每一点资源的技术人员,吾等用着让硬盘灯狂闪、内存狂飙的工具干活,越来越沦为码奴了。

?

热点排行