首页 > 代码库 > linux系统性能分析工具并定位到具体进程
linux系统性能分析工具并定位到具体进程
【涉及工具】
top 综合,偏CPU和memory
dstat 综合, 偏磁盘
pidstat
iostat 磁盘io 全局
iotop 磁盘io 精确到进程
iftop 网络,事实刷新
ss 取代netstat 并且速度更快
【查看cpu状态-设计涉及指标】
1 cpu使用率: 用户 系统
2 cpu累计使用时长
3 中断 上下文切换等(使用不是很多)
CPU查看工具 top dstat
top
选项
-bn1
-c 查看全命令
top -bn1c 一次记录就结束并打印command的全命令
指令
1 完整的列出所有的cpu核心数
P 根据CPU高低排序
M 根据内存高低排序
T 根据运行时间排序
B 行的高亮显示
x 列的高亮显示
shift + <或者 > 改变高亮的排序列
h 帮助信息
dstat(python脚本)
dstat -lcm --top-cpu
【查看memory状态-设计涉及指标】
关注点:
是否使用交换内存
每个进程消耗了多少内存空间
top
free
dstat lcmd --top-mem
【查看磁盘状态-设计涉及指标】
提示: 磁盘的性能瓶颈是比较难以排除出来的,不想cpu和内存那样比较明显的看的出来。
关注指标
1 读写量/s dstat iotop pidstat 精确到进程
2 每次读写的延迟时间 iostat(全局)
看读写量 iostat -x 1
看延迟效果 一般使用dstat(单位比较人性 整理过)
查看那个进程使用io最高 iotop
Total DISK READ: 7.02 M/s | Total DISK WRITE: 3.12 M/s
iostat中的几个参考值:
svctm < await(同样等待的请求时间被重复计算)。如果svctm比较接近awati 说明IO几乎没有等待时间。 如果await远远大于svctm,说明IO队列太长。
await: 平均每次设备IO操作等待的时间(毫秒)。即 delta(ruse+wuse) /delta(rio+wio)
svcm:平均每次设备IO操作服务的时间(毫秒) 会将await计算在内
%util 一秒中有百分之多少的时间用于IO操作或者说一秒中有多少时间IO队列是非空的。
本文出自 “燕子李三” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1867088
linux系统性能分析工具并定位到具体进程