>iostat命令被用于监视系统输入输出设备和CPU的使用状况。它的特色是汇报磁盘活动统计状况,同时也会汇报出CPU使用状况。同vmstat同样,iostat也有一个弱点,就是它不能对某个进程进行深刻分析,仅对系统的总体状况进行分析。mysql
说明: util%:表示io等待占比,正常状况下该值和磁盘读写(r/w)成正比,若是该值很大,读写数值很小则说明磁盘存在问题,系统性能会受影响!ios
>iotop命令是一个用来监视磁盘I/O使用情况的top类工具(动态)。iotop具备与top类似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写状况,若是你想知道每一个进程是如何使用IO的就比较麻烦,使用iotop命令能够很方便的查看。web
注: 在此关注‘IO>’这一列!sql
Ø 左右箭头:改变排序方式,默认是按IO排序缓存
Ø r:改变排序顺序。服务器
Ø o:只显示有IO输出的进程。网络
Ø p:进程/线程的显示方式的切换。多线程
Ø a:显示累积使用量。socket
Ø q:退出。tcp
>free命令能够显示当前系统未使用的和已使用的内存数目,还能够显示被内核使用的内存缓冲区。
语法: free [options]
Options:
-b/k/m/g:分别以byte、KB、M、G为单位显示(默认以KB为单位)
-h:已适当的单位显示
-t:显示内存总和
说明:
“total=used+free+buff/cache”
“available=free+buff/cache(空闲部分)”
buff(缓冲):当CPU向磁盘写入数据时,因为磁盘存储速率低于CPU,因此CPU工做时先将写好的数据存放在内存中,该部份内存即为缓冲内存。
cache(缓存):当CPU从磁盘读取数据时,因为磁盘输出速率低于CPU的读取速度,因此磁盘的数据会预先存放在内存中,该部份内存即为缓存内存。
>ps命令用于报告当前系统的进程状态。能够搭配kill指令随时中断、删除没必要要的程序。ps命令是最基本同时也是很是强大的进程查看命令,使用该命令能够肯定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是能够经过执行该命令获得的。
语法: ps [options]
Options:
a:显示现行终端机下的全部程序,包括其余用户的程序。
u:以用户为主的格式来显示系统情况。
x:显示全部程序,包括历史进程。
-e:显示全部进程(同a)
-f:显示UID、PPIP、C与STIME栏
-l:显示进程详细信息
说明: STAT表示进程状态。
² D:不能中断的进程
² R:run状态的进程
² S:sleep状态的进程
² s:主进程
² T:暂停的进程
² Z:僵尸进程
² <:高优先级进程
² N:低优先级进程
² L:内存中被锁定了内存分页
² l:多线程进程
² +:前台进程
>netstat命令用来打印Linux中网络系统的状态信息,可以让你得知整个Linux系统的网络状况。
语法: netstat [options]
Options:
-a:=all 显示全部连线中的socket
-l:=listening 显示监控中的服务器的socket
-n:=numeric 直接使用IP地址
-p:=programs 显示正在使用socket的程序识别码和程序名称
-t:=tcp 显示tcp传输协议的链接情况
>ss命令用来显示处于活动状态的套接字信息。ss命令能够用来获取socket统计信息,它能够显示和netstat相似的内容。但ss的优点在于它可以显示更多更详细的有关TCP和链接状态的信息,并且比netstat更快速更高效,缺点是不会显示进程的名称。
语法: ss [options]
Options:
-a:显示全部套接字(socket)
-n:不解析服务器名称,以数字方式显示
>tcpdump命令是一款sniffer工具,它能够打印全部通过网络接口的数据包的头信息,也可使用-w选项将数据包保存到文件中,方便之后分析。
语法: tcpdump [options]
Options:
-i:指定网卡名,使用指定的网络送出数据包
-c:指定数量
-w:指定存放位置
-r:=read,从指定文件查看数据包数据
· tcpdump -nn -i ens33 (第一个n表示以数字形式显示IP,若是不加该选项会显示成主机名)
· tcpdump -nn ens33 port 22 (not port 22)指定端口为22的(非22的)
· tcpdump -nn ens33 port 22 and host 192.168.8.1 指定多个条件(host:主机,后面跟主机名或IP)
· tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap 指定抓包数量和存放位置
注: 1.cap内容没法使用cat命令查看,可以使用tcpdump -r命令查看
说明: 包内内容为使用tcpdump打包时的数据。
>该命令也是用于抓包的。
使用前须要安装该工具‘wireshark’:
查看指定网卡80端口的1个web服务的访问状况(相似于web的访问日志):
[ 命令: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" ]
抓取mysql的查询
注: 因无相关进程运行因此一无所得!
抓取指定类型的MySQL查询
统计http的状态
注: 这个命令,直到你ctrl + c 才会显示出结果!
tshark 增长时间标签