命令列表
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