iostat命令查看系统输入输出设备和CPU的使用状况,在安装 sysstat 这个包的时候,就会安装iostat命令,和 sar 同一个包。html
iostat -x命令,其中有个很是重要的指标%util,表示io等待占的百分比;若是%util数值达到50%或60%,说明磁盘的io很是差;若是%util数值很大,则rkB/s和wkB/s数值也很大;若是rkB/s和wkB/s数值不大,%util数值很大,这说明硬盘有问题。linux
iotop命令是一个用来监视磁盘I/O使用情况的top类工具,能够动态查看哪个进程在频繁的读写。ios
使用iotop命令前,先安装iotop包,yum install -y iotop,运行iotop命令,关注IO>这一列。web
free命令是查看内存使用状况的,直接运行free缓存
第一行是说明行,第二行是内存使用状况,第三行是交换分区的使用状况服务器
默认单位KB,使用free -m,可切换单位MB,使用-h,切换单位GB网络
buff(缓冲)和cache(缓存)区别:数据流向不一样多线程
磁盘——>内存(cache)——>cputcp
cpu——>内存(buffer)——>磁盘工具
公式:total=used+free+buff/cache
avaliable包含free和buffer/cache剩余部分
ps命令查看系统进程
ps -aux把系统中全部的进程给列出来
STAT:进程的状态,须要关注
进程与线程
进程由线程组成的,一个进程中有多个线程;进程与进程以前相互的不共享,线程之间是使用了同一个进程的内存区域。
ps -elf,与ps -aux显示的信息基本同样
netstat命令查看网络状态,查看的就是tcp/ip通讯的一个状态
netstat -lnp 查看监听端口
netstat -ltnp 只查看tcp;netstat -ltunp 只查看tcp和udp
netstat -an 查看全部的链接状态
netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}',能够查看全部状态的数字,须要记住
ESTABLISHED数值表示当前有多少个客户端在和服务端保持通讯;若是ESTABLISHED数值很大,表示系统很忙,一般数值在1000之内,服务器均可以接受。
ss -an命令与netstat相似,缺点是不会显示进程名字
是用来抓取数据包的,运行前先安装tcpdump包,yum install -y tcpdump
而后运行tcpdump -nn命令,须要指定网卡的名字tcpdump -nn -i ens33
第一个n,表示你的ip用数字的形式显示出来,若是不加则会显示出主机名.
tcpdump -nn ens33 port 22 (not port 22)指定端口为22的(非22的端口)
tcpdump -nn not port 22 and host 192.168.0.100 除去22端口,只要ip为192.168.0.100的包
tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap指定抓包个数以及存放位置;用file命令查看1.cap文件大概信息,不能被cat查看,不然会乱码
能够用tcpdump -r查看1.cap信息,r就是read
该命令也是用来抓包的,使用前先安装yum install -y wireshark
wireshark工具与tcpdump工具相似
命令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访问状况,相似于web的访问日志,须要记住。