iostat 命令、

  • iostat命令是监控磁盘的命令,默认是没有安装的,需要先安装
[root@localhost ~]# yum install -y sysstat
[root@localhost ~]# iostat
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 	02/28/2019 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.75    0.00    1.92    0.72    0.00   96.60

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               8.23       317.90        16.60     301670      15755
dm-0              6.08       283.81        14.42     269326      13687
dm-1              0.09         2.59         0.00       2460          0

  • iostat -d 1 1秒钟刷新一次
  • iostat -d 1 5 1秒刷新一次,显示5次。

iotop命令

  • iotop也是监控磁盘的命令,需要先安装,
[root@localhost ~]# yum install iotop -y
  • 该命令显示的内容是动态显示的,按IO使用率排序。

vmstat命令

vmstat 监控系统状态

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 3565444    692  99364    0    0    22     2   23   27  0  0 99  0  0

使用w命令查看的是系统整体上的负载,无法判断具体是哪些硬件负载压力过大,这就用到了vmstat命令,vmstat显示的内容一共分为6部分,

  • procs 显示进程的相关信息

  • r(run):表示运行或等待CPU时间片的进程数。该数值如果长期大于CPU核数就意味着CPU不够用了。

  • b(block):表示等待资源的进程数,这里的资源指的是I/O、内存等。比如说有个数据CPU很快处理完了,但是硬盘在频繁的读写当中,该数据等待写入硬盘时,这个进程就是b的状态。该数据长时间大于1就需要找找问题了。

  • memory 显示内存的相关信息

  • swpd:表示切换到交换分区中的内存数量,单位为KB。

  • free:表示当前空闲的内存大小。单位KB

  • fuff:表示(即将写入磁盘的)缓冲大小,单位KB

  • cache:表示(从磁盘中读取的)缓存大小,单位KB

  • swap 显示内存的交换情况

  • si:表示由交换分区写内存的数据量,单位KB

  • so:表示由内存写入交换分区的数据量,

  • io显示磁盘的使用情况

  • bi:表示从块设备读取数据的量(读磁盘)

  • bo:表示从块设备写入数据的量(写磁盘)

  • system显示采集间隔内发生的中断次数

  • in:表示在某一时间间隔内观测到的每秒设备的中断次数

  • cs:表示每秒产生的上下文切换次数

  • cpu显示CPU的使用状态

  • us:显示用户下所花费CPU的时间百分比

  • sy:显示系统花费CPU的时间百分比

  • id:表示CPU处于空闲状态的时间百分比

  • wa:表示I/O等待所占用的CPU时间百分比

  • st:表示被偷走的CPU所占的百分比(一般为0,不用关注)

  • vmstat 2 10意思是每两秒输出一次状态,输出10次。

监控网卡流量

  • netstat 列出端口信息
  • netstat -lnp 列出系统监听端口
  • netstat -an 查看系统的网络连接状况
  • netstat -lntp 列出监听端口,只看tcp的,不包括socket
  • ss -an 跟netstat -an 作用一样
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2342/master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1340/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      2342/master
tcp6       0      0 :::22                   :::*                    LISTEN      1340/sshd
03-01 08:22