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