Linux下调试方法汇总 下
三、Linux性能问题定位
3.1、基本流程
如果你在Linux下碰到比较复杂的性能问题,记住,按照下面的4步走,会让你解决linux性能问题的时候事半功倍。
1、先用top命令看linux系统总体的cpu使用情况。如果有异常,用pidstat -u查看细粒度的各个进程的cpu使用情况;否则,转向下一步。
2、用vmstat命令查看linux系统总体的内存使用情况。如果有异常,用smem查看细粒度的各个进程的内存使用情况;否则,转向下一步。
3、用iostat命令查看linux系统总体的IO使用情况。如果有异常,用iotop查看细粒度的各个进程的IO使用情况;否则,转向下一步。
4、用iftop命令查看linux系统总体的网络使用情况。如果有异常,用nethogs查看细粒度的各个进程的网络带宽使用情况。
3.2、常用工具
Linux下应用程序的cpu使用率较高,如何找到是哪段代码引起的?给你介绍这5个linux工具试试看!
1、先看整体。通过top命令查看linux系统整体的cpu使用率和整体的平均负载;
2、然后再看进程个体。通过pidstat -u 1查看linux下各个进程的cpu使用率,找到可疑进程;
3、pstree -p {pid}查看进程的继承关系,这一步是可选的,但可以让我们清楚了解进程的族谱;
4、strace -f -p {pid} 追踪进程的系统调用情况,确认是否存在频繁的系统调用?如果存在,就说明找到了根本原因;否则,继续下一步;
5、pstack {pid}显示应用程序的实时的函数调用堆栈,从而找出性能瓶颈点;