0
点赞
收藏
分享

微信扫一扫

引擎优化笔记2

引擎优化笔记2_html

 

 使用工具有:

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

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

 

 

引擎优化笔记2_linux_02

 

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

引擎优化笔记2_linux_03

 

 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/

 

引擎优化笔记2_linux_04

 

 

execsnoop

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

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

 

 

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

http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子



举报

相关推荐

0 条评论