linux perf master

​​命令列表

dmidecode

free

lshw 查看硬件信息

lscpu

ps auxw

top

uptime

w

watch

linux性能分析黄金60秒

uptime

dmesg|tail

vmstat 1

mpstat -P ALL 1

pidstat 1

iostat -xz 1

free -m

sar -n DEV 1

sar -n TCP,ETCP 1

top

这些命令需要安装sysstat包

uptime  loadaverage平均负载,表示等待(cpu空闲或io阻塞)运行的进程数量,三个数字表示1分钟,5分钟,15分钟内,这几个时间点负载的变化

dmesg|tail 近期10条系统信息,可能包括oom-killer(内存不足时系统会主动kill掉一些不重要的进程)和tcp丢包等。 ps:这个信息很容易被忽略

vmstat  内存状态

r 正在cup上运行或等待的进程数(不包括io负载)。r值大约cup数即是饱和

free 空闲内存(kb)

si,so swap 入 出  。如果这个值飞非0说明内存不够了

us,sy,id,wa,st cpu的分类时间 用户 系统 空闲 io等待 被偷走(xen等虚拟机)

mpstat  多核系统,显示每个cpu的消耗

pidstat 间隔输出每个进程的cpu状态 %cpu是对所有cpu的消耗1000%代表占满10个cpu,隔一段时间记录一次进程状态

iostat  查看块设备(磁盘)的工具

r/s w/s rkB/s wkB/s  每秒读% 写% 读kb 写kb

await i/o平均时间(毫秒),每次访问块设备的平均延时,包括排队和运行的时间。过大说明io设备忙。延时对一些需要确实落盘的应用(串行写)比如安全的数据库写入来说,特别敏感,因为必须必须等待延时返回成功后,数据库才会给应用返回执行成功。

avgqusz 向设备发出的平均请求数据库,大于1可视为饱和(尽管设备可能对请求持续运行,特别是前端的虚拟设备后端有多个磁盘)

%util 设备利用率 实时的设备繁忙百分比,显示每秒有百分之多少的时间设备在工作。大于60%属于性能不足(可结合await处查看)。但如果前端是虚拟盘后端挂一堆磁盘,虽然100%,但有可能仍然可以处理请求

*注意:磁盘io性能低下不一定是应用问题,许多技术使用异步io,应用并不会阻塞,也不会遭受延迟

free 内存状态  buffer  是块设备io缓冲。cached 是page cache页面缓存 用于文件系统。只要不为0就好。

-/+ buffers/cache 提供更加准确的值

linux可以将空闲内存用于文件系统页面缓存,并且在程序需要是自动回收。linux内存机制可以参考网站linux ate my ram

*注意zfs之类的文件系统,可能导致free数据不准。

sar n DEV 1  检查网络接口的吞吐 rxkB/s txkB/s 。有时还有一个设备利用率值%ifutil,也可以通过nicstat工具来度量,但这个值很难获取准确。

sar n TCP,ETCP 1 TCP协议指标概揽, active/s 每秒发起的连接请求(connect),passive/s 远程初始化的tcp连接数(accept) ,retrans/s tcp重发数/每秒

top 

© 2017, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com

0.00 avg. rating (0% score) - 0 votes
点赞