10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包
10.11 Linux网络相关
一、监控io性能
1.iostat
在安装sysstat包时,默认会安装iostat包,和sar在同一个包里
iostat 1 2 用法和vmstat用法类似,每一秒执行一次,执行2次
iostat -x
重要指标:%util
表示磁盘的使用百分比,如果这个数很大,比如长期超过90%,说明磁盘非常忙,读写肯定会很大。如果读写不大,但该列值很大,就说明硬盘有问题
2.iotop #监控磁盘读写状况
yum install -y iotop
iotop
和top很像,动态显示
二、free命令
用来查看内存使用情况
centos6和centos7显示的内容是不一样的,7更直观,第一行是说明,第二行是内存使用情况,第三行是swap使用情况,我们主要关注第二行,内存使用情况
第一列:total 内存总大小,单位KB
第二列:used 内存已用大小
第三列:free 内存剩余大小
第四列:shared 共享大小
第五列:buff/cache 缓冲/缓存
第六列:available free剩余内存+buff/cache剩余的
公式:total=used+free+buff/cache
指定单位为M时,使用free -m,指定单位为G时,使用free -g或者free -h在后面显示单位
三、ps命令
ps命令查看系统进程
ps aux
静态的,一次性把系统当前所有进程列出来
USER 用户
PID 进程ID,杀死进程时可以用到kill PID,有时候这样并不能终止进程,需要加-9选项,即kill -9 PID,这样有点暴力,严重时会丢失数据,尽量不要使用
STAT进程状态,分为以下几种
查看进程所在目录
ls -l /proc/进程的PID/
ps aux |grep 进程名称
检查某一个进程有没有运行
ps -elf
类似于ps aux,把系统进程罗列出来
四、查看网络状态
netstat -lnp 查看监听端口
netstat -an查看tcp/ip所有的连接状态
netstat -lntp 只查看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下抓包
1.tcpdump工具
yum install -y tcpdump
tcpdump采用命令行方式对接口的数据包进行帅选抓取,其丰富特性表现在灵活的表达式上。不带任何选项的tcpdump,默认会取第一个网络接口,且只有将tcpdump进程终止才会停止抓包
命令格式
抓包选项
输出选项
其他功能性选项
所以常用的选项也就这几个:
tcpdump -nn
tcpdump -nn -i网卡名字
tcpdump -i网卡名字
tcpdump -nn port 80 查看80端口
tcpdump -nn not port 22 and host 192.168.0.100 不要22端口并且只要192.168.0.100的包
tcpdump -nn -c 100 -w /tmp/1.cap 指定100个数据包并且存放到1.cap里去
要有数据产生才能抓包,可以再打开一个终端产生一些数据,例如执行top命令、vmstat命令,过会儿就会抓取完
要想查看1.cap信息,不能直接使用cat查看
使用tcpdump -r /tmp/1.cap查看
参考:http://blog.chinaunix.net/uid-29792372-id-5048174.html
2.tshark
安装
yum install -y wireshark
使用
查看指定网卡80端口的web访问情况
其他用法,参考:http://ask.apelearn.com/question/995
六、Linux网络相关
ifcongfig查看网卡ip (该命令需要安装:yum install net-tools)
ifcongfig -a 当网卡down掉的时候,一般不会显示,加上-a会全部显示出来
ifup ens33/ifdown ens33 启用/关闭网卡
不要在Xshell里使用,在虚拟机里使用。一般在对网卡进行更改后使用,例如添加网关。也可以一起使用 ifdown ens33 && ifup ens33
设定虚拟网卡
1.首先在网卡配置文件目录里复制一个ens33的配置文件
2.编辑虚拟网卡配置文件
3.断开重新连接网卡
4.查看网卡
mii-tool ens33 查看网卡是否连接
ethtool ens33 也可以查看网卡是否连接
更改机主名
hostnamectl set-hostname aminglinux
centos6不支持此命令,想要生效需要退出重新登录一下
查看主机名配置文件
DNS配置文件/etc/resolv.conf
这里是由网卡配置文件定义的,也可以临时编辑文件设置dns2,但是重启后依然会被网卡里的配置文件覆盖
/etc/hosts 文件
在Windows和Linux下都有此文件,后续将lamp时去访问自定义域名时,就会用到此文件。假设我们ping一个域名,会解析出他的公网IP,但是如果我们在hosts文件里配置此域名,就会解析到我们配置的IP上
注意:
一个IP后面可以跟多个域名,但是同一个域名只能有一个IP生效。虽然一个域名可以绑定多个IP:
web109有两个IP,在前面的生效