zoukankan      html  css  js  c++  java
  • 引擎优化笔记2

     使用工具有:

    top看进程的状态: R(Running), D(Disk sleep), Z(zombie), S(Interruptible sleep), I(Idle), T(stopped), t(Traced)以及 cpu 、mem、inter 等信息

    vmstat:整体cpu 性能 中断次数  上下文切换次数  运行以及不可中断运行的进程数

     

     mpstat:每个cpu使用率以及中断  irq si idle nice等 可以见 top 命令中执行1 查看各个单独cpu; steal guest gnice 涉及到虚拟机 母亲啊

     pidstat -w 输出进程切换指标, -t线程  -wt 参数表示输出线程的上下文切换指标 pidstat -wt 1

    • cswch: 自愿上下文切换,包括io/内存不足等请求资源的问题
    • nvcswch: 非自愿,高代表CPU瓶颈

    查找热点函数: perf top,record,report (-g开启调用, -p指定进程)

    实例中结合pidstat和perf record -g -p xxx 查找热点函

    • 硬中断
      • 上半部用来快速处理中断, 主要处理和硬件相关or 时间脉冲
      • /proc/interrupts
    • 软中断
      • 下半部用来处理上班部未完成的,通常以内核线程方式运行
      • /proc/softirqs ,不同列代表: 网络收发,定时,调度,RCU锁

    自愿上下文切换变多,进程都在等待资源,说明IO问题较大
    非自愿上下文切换变多,进程都在被强制调度
    中断变多,说明CPU被中断处理程序占用过多,需要通过/proc/interrupts来分析中断类型

    一般通过watch 命令 查看输出的变化比如:

    watch -d -n 1 “exec cmd”

    再就是 strace 以及lsof 两大神器

    strace -t -tt -c  -f -p -y -yy这些参数的使用

    perf stat 获取计数的“摘要”以及perf跟踪参数使用 

    perf 使用手册 可以参考https://www.ibm.com/developerworks/cn/linux/l-cn-perf2/

    https://www.cnblogs.com/arnoldlu/p/6241297.html 

     

    execsnoop

    用于短时进程设计的工具,通过ftrace实时监控进程执行exec()的行为,并输出短时进程的基本信息,包括进程的PID,父进程PID,命令行参数以及执行结果

    碰到无法解释的CPU使用率情况,就可能是短时应用导致的问题

     https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/03_optimization.html   工具速查

  • 相关阅读:
    用C#新建网站的方法
    zhngutils.js
    jQuery源代码学习jQuery对象构建
    前端性能书单
    预则成,不预则废
    表格
    js延时周期执行setTimeout;setInterval;clearTimeout;clearInterval
    url备份
    前端性能集合(各种测试各种资源...)
    Scrum开发模式
  • 原文地址:https://www.cnblogs.com/codestack/p/13607276.html
Copyright © 2011-2022 走看看