Linux下netstat和vmstat以及ifstat的使用

来源:互联网 发布:学生管理系统java 编辑:程序博客网 时间:2024/05/21 22:36

1.netstat

netstat是一个功能很强大的网络信息统计工具。它可以打印本地网卡接口上的全部连接,路由表信息,网卡接口信息的等。一般情况下我们大量用到的是TCP连接及其状态信息,因为我们如果要获得路由表信息和网卡接口信息,我们可以使用输出内容更丰富的route和ifconfig命令

netstat的常见参数

参数 说明 -n 使用IP地址表示主机,而不是主机名;使用数字表示端口而不是服务名称 -a 显示结果中包含监听socket -t 仅显示TCP连接 -r 显示路由信息 -i 显示网卡接口的数据流量 -c 每隔1s输出一次 -o 显示socket定时器,比如保活定时器的信息 -p 显示socket所属进程的PID和名字
我们可以用前面学过的nc开个测试服务器和客户端进行netstat的命林测试,事例如下

当用nc在本机127.0.0.1端口为4444的服务器进程,然后在用nc当客户机进行连接

netstat -nat|grep 127.0.0.1:4444

显示结果如下图

由上图可知netstat的每行都输出6个字段,其名称和含义分别为

名称 含义 Proto 协议名 Recv-Q socket内核接收缓冲区尚未被应用程序读走的数据段 Send-Q 未被对方确认的数据段 Local Address 本端的IP地址和端口号 Foreign Address 对方的IP地址和端口号 State socket的状态

2.vmstat

vmstat的缩写是virtual memory statistics的缩写,它能实时输出系统的各种资源的使用情况,比如进程信息,内存使用情况,CPU使用率以及I/O使用情况

vmstat常见的参数

参数 说明 -f 显示系统自启动以来执行的fork次数 -s 显示内存相关的统计信息 -d 显示磁盘相关的统计信息 -p 显示指定磁盘的显示信息 delay 采样间隔,即每隔多少秒刷新一次 count 采样次数,共输出多少次采样信息

3.ifstat

ifstat是interface statistics的缩写,它是一个简单的网络流量监控工具

ifstat的参数

参数 说明 -a 检测系统上的所有网卡接口 -i 指定要检测的网卡接口 -t 在每行输出信息前加上事件戳 -b 以Kbit/s显示数据,而不是默认的KB/S delay 采样间隔 count 采样次数

具体事例如下

ifstat -a 1 5  #每个1s输出一次,共5次

从输出来看博主本机有3个网卡接口,ifstat的每条输出都以KB/S为单位显示个网卡接口上接收和发送数据的速率。所以我们可以用ifstat估计出服务器的总输入和输出流量

0 0