Linux下应用程序调试

Linux下应用程序调试

如果你在linux下碰到比较复杂的性能问题,记住,按照下面的4步走,会让你解决linux性能问题的时候事半功倍。

  1. 先用top命令看linux系统总体的cpu使用情况。
    如果有异常,用pidstat -u查看细粒度的各个进程的cpu使用情况;否则,转向下一步。
  2. 用vmstat命令查看linux系统总体的内存使用情况。
    如果有异常,用smem查看细粒度的各个进程的内存使用情况;否则,转向下一步。
  3. 用iostat命令查看linux系统总体的IO使用情况。
    如果有异常,用iotop查看细粒度的各个进程的IO使用情况;否则,转向下一步。
  4. 用iftop命令查看linux系统总体的网络使用情况
    如果有异常,用nethogs查看细粒度的各个进程的网络带宽使用情况。

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}显示应用程序的实时的函数调用堆栈,从而找出性能瓶颈点;

你可能感兴趣的:(Linux,linux)