六、监控IO性能
iostat安装sysstat这个包的时候默认会安装iostat。和sar在同一个包里面
iostat 1 2
用法和vmstat用法类似,每一秒执行一次,共执行2次
iostat -x
%util重点
表示磁盘的使用百分比,如果数字大,超过百分之90,说明磁盘很忙,如果读写不大。但是这列数据还是很大,说明磁盘有问题
iotop监控磁盘读写情况
默认未安装这个命令 yum install -y iotop
和top很像,动态显示
七、free命令
free用来查看内存使用情况
centos6和7显示不一样,7更加直观,第一行是说明,第二行是内存,第三行是交换分区,重点观注第二行,内存使用情况
free -h在数字后面显示单位
第一列:total物理内存总大小,单位KB
第二列:used已经使用的内存大小
第三列:free内存剩余大小
第四列:shared共享内存大小
第五列:buff/cache 缓冲 /缓存
关于buff/cache我们可以简单理解为:
0000(磁盘)–>>内存(cache)–>>CPU CPU要读取一个数据,需要先从磁盘取出放到内存里面去,然后CPU再到内存里面读取这个数据,这个内存叫做cache缓存 因为磁盘和CPU速度相差非常大
cpu(0000)–>>内存(buff)–>>磁盘 cpu读取完一个数据,然后放到内存,最后再放回磁盘。这里的内存叫做buff(缓冲)
内存总大小=total=used+free+buff/cache 由于CPU速度和磁盘差距很大,所以会留一部分空间给buff/cache
第六列:available=free+buff/cache使用剩余的空间
八、ps命令
ps命令查看系统进程
pa aux静态的,一次性把所有进程列出来
ps -elf 类似ps aux
user用户
PID 进程ID,杀死进程的时候可以使用kill+ID,有些时候并不能完成杀死进程,需要加上-9选项,kill -9 进程ID,如kill -9 16 这样使用容易丢失数据,轻易不要使用
stat进程状态, 分为以下几种
查看进程目录
ls -l /proc/进程ID
ps aux |grep 进程名字
检查某个进程是否在运行
九、查看网络状态
netstat -lnp查看监听端口 yum install -y net-tools
netstat -an 查看所有tcp/ip连接状态
netstat -ltnp只查看tcp的监听端口
netstat -ltunp只查看tcp和udp的监听端口
小技巧,查看所有状态数字
netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}’
ESTABLISHED如果很大,说明并发数很高
ss -an和netstat 异曲同工,显示tcpip状态
ss -an |grep -i listen 查看listen状态,不会显示进程名称
十、Linux下抓包
tcpdump工具
yum install -y tcpdump
tcpdump -nn
tcpdump -nn -i ens33(网卡名)
tcpdump -i ens33网卡名
tcpdump -nn port 80 查看80端口
tcpdump -nn -i ens33 -c 100 -w /tmp/1.cap
指定100个数据包并存放到1.cap里面去
想要查看1.cap里面的信息,不能直接cat /tmp/1.cap
需要使用tcpdump -r /tmp/1.cap
tshark
yum install -y wireshark
tshark -n -t a -R http.request -T fields -e “frame.time” -e “ip.src” -e “http.host” -e “http.request.method” -e “http.request.uri”
查看指定网卡80端口的web访问情况
十一、Linux网络相关
ifconfig 查看网卡IP
需要安装net-tools yum install -y net-tools
之前netstat的时候已经安装过了,所以这里就不用再安装,如果没有安装过需要安装
ipconfig -a
当网卡down的时候不会显示出来,但是加上-a会全部显示
ifup ens33/ifdown ens33 启用/关闭网卡
不要在远程上面使用,直接在虚拟机上使用,一般在更改网卡后使用,也可以一起使用
ifdown ens33 && ifup ens33
设置虚拟网卡
首先在网卡配置文件里面复制一个一个ens33的配置文件
编辑虚拟网卡配置文件
关闭并打开网卡
ifdown ens33 && ifup ens33
查看网卡是否连接网线
ethtool ens33也可以查看网卡是否连接网线
更改主机名
hostnamectl set-hostname +主机名
centos6不支持此命令,想要生效可以重新登录一下
可以使用hostname查看 可以直接使用bash
DNS配置文件 /etc/resolv.conf
etc/hosts文件
自定义域名解析,可以配置自定义IP和域名
同一个域名有两个IP,前面一个生效