监控io性能
iostat命令,可以直接查看磁盘的使用情况
[root@localhost ~]# iostat
Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2018年07月12日 _x86_64_(4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.18 0.00 1.14 1.90 0.00 96.78
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 1.04 4.16 0.00 1564 0
sda 14.70 284.06 14.51 106842 5459
dm-0 0.24 0.97 0.00 364 0
iostat 1 10动态显示磁盘使用情况,隔一秒输出一次,一共输出10次
iostat -x 比较全面的显示磁盘使用情况,其中%util是CPU等待硬盘读写数据的时间占比,如该数据过大则说明磁盘的读写出现了问题。
[root@localhost ~]# iostat -x
Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2018年07月12日 _x86_64_(4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.00 0.81 1.26 0.00 97.81
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.69 0.00 2.78 0.00 8.00 0.00 5.73 5.73 0.00 5.21 0.36
sda 1.06 0.03 7.64 2.20 189.77 9.73 40.57 0.11 11.28 13.02 5.24 4.85 4.77
dm-0 0.00 0.00 0.16 0.00 0.65 0.00 8.00 0.00 1.99 1.99 0.00 1.99 0.03
iotop 该命令会把读写磁盘的进程动态的显示出来 在使用LINUX时经常会遇到系统IO占用很高,系统IO占用可以使用iostat -x 1查看,但是查看哪个进程占用的磁盘IO负载高,就可以使用iotop工具了。
[root@localhost ~]# iotop
Total DISK READ :0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ:0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 23
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u256:0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/0]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/1]
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/2]
12 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/3]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/4]
14 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/5]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/6]
监控内存使用情况
free命令 查看内存的使用情况。默认单位是kb
[root@localhost ~]# free
total used free shared buffers cached
Mem: 3869044 481724 3387320 8692 692 218860
-/+ buffers/cache: 262172 3606872
Swap: 2047996 0 2047996
可以看到物理内存的使用情况和swap分区的使用情况。如果swap分区使用较多了表示需要增加内存了。
free -h 自适应单位输出数值
free -m 以兆为单位输出数值
显示内容,
total:总内存大小 ;
used:已使用内存大小
free:空闲内存大小
shared:当前已废弃不用内存大小
buffers:缓冲空间大小
cached:缓存空间大小
available 大小是buff/cache未使用的部分+free的大小
监控进程
ps命令
ps -aux 显示进程情况,这是静态输出的。
ps -aux |grep sshd 查看sshd进程是否开启
可以利用PID来杀死进程,kill pid号就可以实现
ls -l /proc/pid号,可以查看进程实在哪里启动的。
查看网络状态
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
Linux抓包工具
tcpdump 抓包,yum install -y tcpdump先安装该工具
tcpdump -nn -i ,该指令中-nn是为了把主机名和端口都使用数字显示出来,主机名会显示成ip ,端口直接显示出端口号;-i是指定网卡(抓取哪个网卡的包)
tcpdump -c 可以指定抓包的数量
tcpdump -w 可以将抓包的数据流向内容写入到一个文件中
tcpdump -r 文件名 可以查看写入数据流向内容的文件
[root@localhost ~]# tcpdump -nn -c 5 -i eno16777736
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno16777736, link-type EN10MB (Ethernet), capture size 262144 bytes
16:25:07.903212 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 1722853797:1722854009, ack 913713024, win 159, length 212
16:25:07.903638 IP 192.168.254.1.55550 > 192.168.254.130.22: Flags [.], ack 212, win 254, length 0
16:25:07.903830 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 212:408, ack 1, win 159, length 196
16:25:07.939544 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 408:684, ack 1, win 159, length 276
16:25:07.939730 IP 192.168.254.1.55550 > 192.168.254.130.22: Flags [.], ack 684, win 252, length 0
5 packets captured
6 packets received by filter
0 packets dropped by kernel