1、vmstat--Virtual Meomory Statistics,可以对操作系统的内存信息、进程状态、CPU活动等进行监视,但是无法对某个进程进行深入分析

vmstat
-n表示在周期性的循环输出,输出的头部信息仅显示一次
delay两次的输出间隔时间
count按照delay指定的时间间隔统计的次数
wKiom1X_rPTjsHG8AAKqegoXCf4309.jpgproces
  r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明cpu不足。
  b列表示等待资源的进程数,比如正在等待IO或者内存交换
memory
  swap表示切换到内存交换分区的内存大小,如果其不为0或者比较大,只要si、so值长期是0就是ok
  cache表示page cache的内存数量,是文件系统进行缓存,频繁访问的文件都会被缓存。如果其值大,说明缓存文件数多,如果此时io中的bi小,说明文件系统效率比较好
io
  bi表示从块设备读入数据的总量--读磁盘
  bo表示写到块设备的数据总量--写磁盘
system
  in表示在某一时间间隔内观测到的每秒设备中断数
  cs表示每表产生的上下文切换次数
  上面这连个值越到内核消耗CPU时间越多

CPU
  us表示用户进程消耗的cpu时间百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是长期大于50%,需要考虑优化程序
  sy内核消耗cpu时间百分比
  us+sy参考值是80%
***重点关注procs中的r列 && CPU中的us、sy列的值

2、sar是分析系统性能的重要工具

sar
-A显示系统所有资源设备的运行状况
-u显示系统所有CPU在采样时间内的负载状态
-P显示当前系统中指定CPU的使用情况
-d显示系统所有硬盘设备在采样时间内的使用状态
-r显示系统内存在采样时间内的使用状况
-b显示缓冲区在采样时间内的使用情况
-v显示进程、文件、节点、锁表状态
-n网络运行状态。参数后可跟DEV,EDEV,SOCK,FULL.
    DEV显示网络接口信息,EDEV显示网络错误的统计数据,sock显示套接字信息
-q显示运行队列的大小,它与系统当时的平均负载相同
-R显示进程在采样时间内的活动情况
-y显示终端设备在采样时间内的活动情况
-W显示系统交换活动在采样时间诶的状态
-o filename表示将命令结果以二进制格式存放在文件中。
interval表示采样间隔时间
count表示采样次数

wKiom1X_sUWAYMy3AAUezueaXJA659.jpg


3、iostat

iostat
-c显示cpu的使用情况
-d显示磁盘的使用情况
-x device指定要统计的磁盘名称
interval指定两次统计时间间隔
wKioL1X_tseCxXaYAAIRyNcv88M628.jpg

Blk_read/s表示每表读取的数据块数
Blk_wrtn/s表示每表写入的数据块数
如果Blk_wrtn/s值很大,表示磁盘写操作很频繁;Blk_read/s很大表示读频繁,可以考虑将数据放到内存中。

4、free

5、top

6、netstat