linux之几个重要性能指标

1、top

top命令可以直观的看出系统的CPU使用情况,以及内存的使用,当系统特别慢的时候可以通过这个命令查看CPU的使用,有可能是某个进程把CPU占满了。

t:关闭或开启CPU统计信息

m:关闭或开启内存信息的显示

A:对系统上的各类资源排序。对于快速找到系统上的性能问题的任务很有作用

2、vmstat  

查看关于内存,内存也,块io和CPU信息,可以显示平均值,也可以通过命令来采样显示。

vmstat -a  查看活动页与非活动页

vmstat 3 2  每三秒采样一次,采样两次。

各列含义

r : 等待执行时间的进程数。这个不包含io操作,r的值大于CPU的数量就表示已经饱和了。

b:在不可中断睡眠中的进程数

swpd:已使用的swap空间内存量

si:从交换分区写入到内存的量

so:从内存写入到交换分区的量

si/so才是识别内存瓶颈的关键,长时间每秒200到300以上的si so次数表明内存出现了瓶颈

bi:发往块设备的数目

bo:块设备接受的数目

system

in:中断的次数,中断如果太多的话表名系统有问题,可能是网卡中断或硬件中断

cs:contextswitch 上下文切换 上下文切换的次数不是越多越好,相反,如果上下文切换发生次数太多的话应该是系统出问题了。

cpu

us:运行用户程序占用 时间(用户时间)

sy:运行内核程序占用的时间(系统时间)

id:空闲时间

wa:等待io的时间

st:Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown

3、uptime(这个命令可用w替代)

这个命令可以看出系统在之前一段时间的负载情况,系统平均负载分别是过去1分钟,5分钟,15分钟的值

何为系统的平均负载:在特定时间间隔内运行队列中的平均进程数

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.


4、free

显示系统的可用内存和已用内存,包括swap。也包括被内存使用的缓冲和缓存信息。

5、iostat

rrqm/s,wrqm/s
每秒向设备发出的合并读写请求的数目。多个单一的读写请求可以合并为一个传输请
求,因为传输请求的大小的可变的

r/s,w/s 设备上的每秒读/写请求次数。

rsec/s,wsec/s 设备上每秒的读/写扇区数

avgrq-sz 向设备发出的请求的平均大小,显示为扇区

avgqu-sz 向设备发出的请求的平均队列长度 

await CPU执行系统任务的时间百分比

svctm I/O请求的平均服务时间(毫秒)

%util I/O请求从发出到设备的时间占用CPU的百分比(设备的带宽利用率)。该值接近100%时,设备能力几乎饱和

还有mpstat,查看所有cpu的使用情况和软中断和硬中断,netstat查看网络的情况

原文地址:https://www.cnblogs.com/zhoufankui/p/8372654.html