1.4 vmstat
vmstat是一个很周全的机能分析对象,可以不雅察到体系的过程状况、内存应用、虚拟内存应用、磁盘的 IO、中断、高低问切换、CPU应用等。
vmstat的输出如下:

- r:运行队列中过程数量,这个值也可以断定是否须要增长CPU。(经久大年夜于1)
- b:因为io处于壅塞状况的过程数。
memory:
-swap:应用虚拟内存大年夜小
-free:余暇物理内存大年夜小
-buff:用作缓冲的内存大年夜小
-cache:用作缓存的内存大年夜小
swap:
si:每秒大年夜交换区写到内存的大年夜小,由磁盘调入内存
so:每秒写入交换区的内存大年夜小,由内存调入磁盘
io:
- bi:大年夜块设备读入的数据总量(读磁盘)(KB/s)
- bo:写入到块设备的数据总量(写磁盘)(KB/s)
system:

NODE:索引节点(文件在磁盘上的标识)
- in:每秒产生的中断次数
- cs:每秒产生的高低文切换次数
cpu:
- us:用户过程消费的CPU时光百分比
- sy:内核过程消费的CPU时光百分比
- wa:IO等待消费的CPU时光百分比
- id:CPU处在余暇状况时光百分比
2.收集
2.1 netstat敕令
procs:
netstat敕令用来打印Linux中收集体系的状况信息,可让你得知全部Linux体系的收集情况。
netstat的常用的选项如下:
(2)-t(tcp)仅显示tcp相干选项
(3)-u(udp)仅显示udp相干选项
(4)-l(listen)仅列出有在Listen(监听)的办事状况
(5)-p(program)显示建立相干链接的法度榜样名
(6)-r(route)显示路由信息,路由表
(11)-log-socket=ipaddr:port 输出LOG到socket ,ipaddr:port
(6)-time-stamp=no|yes 增长时光戳到LOG信息
(7)-e(extend)显示扩大信息
(8)-c 每隔一个固准时光,履行该netstat敕令。
TCP三次握手的过程如下:
(1)-a(all)显示所有选项
(1)主动连接端发送一个SYN包给被动连接端;
(2)被动连接端收到SYN包后,发送一个带ACK的SYN包给主动连接端。
(3)主动连接端发送一个带ACK标记的包给被动连接端,握手动作完成。
TCP的四次挥手过程如下:
(1)主动封闭端发送一个FIN包给被动封闭端。
(2)被动封闭端收到FIN包后,发送一个ACK包给主动封闭端。
(3)被动封闭端发送了ACK包后,再发送一个FIN包给主动封闭端。
下面我们解释一下netstat中tcp连接对应的各类状况。
(1)LISTEN:侦听状况,等待长途机械的连接请求。
(2)SYN_SEND:在TCP三次握手时代,主动连接端发送了SYN包后,进入SYN_SEND状况,等待对方的ACK包。
(3)SYN_RECV:在TCP三次握手时代,主动接收端收到SYN包后,进入SYN_RECV状况。
(4)ESTABLISHED:完成TCP三次握手后,主动连接端进入ESTABLISHED状况。此时,TCP连接已经建立,可以进行通信。
(5)FIN_WAIT_1:在TCP四次挥手时,主动封闭端发送FIN包后,进入FIN_WAIT_1状况。
(6)FIN_WAIT_2:在TCP四次挥手时,主动封闭端收到ACK包后,进入FIN_WAIT_2状况。
tcpdump可以将收集中传送的数据包完全截获下来供给分析。它支撑针对收集层、协定、主机、收集或端口的过滤,并供给and、or、not等逻辑语句来赞助你去掉落无用的信息。
(7)TIME_WAIT:在TCP四次挥手时,主动封闭端发送了ACK包之后,进入TIME_WAIT状况,等待最多2MSL时光,让被动封闭端收到ACK包。
(8)CLOSING:在TCP四次挥手时代,主动封闭端发送了FIN包后,没有收到对应的ACK包,却收到了对方的FIN包,此时进入CLOSING状况。
(9)CLOSE_WAIT:在TCP四次挥手时代,被动封闭端收到FIN包后,进入CLOSE_WAIT状况。
netstat的常用办法:
(1)netstat -p | grep 19626:获得过程号19626的过程所打开的所有端口
(2)netstat -tpl:查看当前tcp监听端口, 须要显示监听的法度榜样名。
(3)netstat -c 2:隔两秒履行一次netstat,持续输出
2.2 lsof
lsof敕令用于查看过程开打的文件,打开文件的过程,过程打开的端口(TCP、UDP)。在linux情况下,任何事物都以文件的情势存在,经由过程文件不仅仅可以拜访惯例数据,还可以拜访收集连接和硬件。在应用TCP的UDP的时刻,体系在后台都为该应用法度榜样分派了一个文件描述符。无论这个文件的本质若何,该文件描述符为应用法度榜样与基本操作体系之间的交互供给了通用接口。
lsof的应用示例如下:

输出的各项的含义如下:
COMMAND:过程的名称
PID:过程标识符
USER:过程所有者
FD:文件描述符,应用法度榜样经由过程文件描述符辨认该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大年夜小
NAME:打开文件切实其实切名称
Lsof的常用办法:
(1)lsof abc.txt:查看所有打开了文件abc.txt的过程。
(2)lsof -p pid:显示过程打开的所有的文件。
2.3 tcpdump
tcpdump的常用参数:

(1)-nn,直接以 IP 及 Port Number 显示,而非主机名与办事名称。
(2)-i,后面接要「监听」的收集接口,例如 eth0, lo, ppp0 等等的接口。
推荐阅读
【51CTO.com原创稿件】跟着企业对协同办公请求的进步,协同办公的定义也晋升到了智能化办公典范畴。大年夜多企>>>详细阅读
本文标题:Linux下常用系统分析工具总结
地址:http://www.17bianji.com/lsqh/35979.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示