七周二次课(1月23日)
10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包
==================================================================================================================================================================================================================================================================
iostat命令:
性能监测与优化
iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
语法:
iostat(选项)(参数)
选项:
-c:仅显示CPU使用情况;
-d:仅显示设备利用率;
-k:显示状态以千字节每秒为单位,而不使用块每秒;
-m:显示状态以兆字节每秒为单位;
-p:仅显示块设备和所有被使用的其他分区的状态;
-t:显示每个报告产生时的时间;
-V:显示版号并退出;
-x:显示扩展状态。
参数:
间隔时间:每次报告的间隔时间(秒);
次数:显示报告的次数。
实例
用iostat -x /dev/sda1来观看磁盘I/O的详细情况:
iostat -x /dev/sda1
Linux 2.6.18-164.el5xen (localhost.localdomain)
2010年03月26日
avg-cpu: %user %nice %system %iowait
%steal %idle
0.11 0.02 0.18 0.35
0.03 99.31
Device: tps Blk_read/s Blk_wrtn/s
Blk_read Blk_wrtn
sda1 0.02 0.08
0.00 2014 4
详细说明:第二行是系统信息和监测时间,第三行和第四行显示CPU使用情况(具体内容和mpstat命令相同)。这里主要关注后面I/O输出的信息,如下所示:
标示 说明
Device 监测设备名称
rrqm/s 每秒需要读取需求的数量
wrqm/s 每秒需要写入需求的数量
r/s 每秒实际读取需求的数量
w/s 每秒实际写入需求的数量
rsec/s 每秒读取区段的数量
wsec/s 每秒写入区段的数量
rkB/s 每秒实际读取的大小,单位为KB
wkB/s 每秒实际写入的大小,单位为KB
avgrq-sz 需求的平均大小区段
avgqu-sz 需求的平均队列长度
await 等待I/O平均的时间(milliseconds)
svctm I/O需求完成的平均时间
%util 被I/O需求消耗的CPU百分比
==================================================================================================================================================================================================================================================================
iotop命令:
性能监测与优化
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
iotop使用Python语言编写而成,要求Python2.5(及以上版本)和Linux kernel2.6.20(及以上版本)。iotop提供有源代码及rpm包,可从其官方主页下载。
安装
Ubuntu
apt-get install iotop
CentOS
yum install iotop
编译安装
wget http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.gz
tar zxf iotop-0.4.4.tar.gz
python setup.py build
python setup.py install
语法:
iotop(选项)
选项:
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
iotop常用快捷键:
左右箭头:改变排序方式,默认是按IO排序。
r:改变排序顺序。
o:只显示有IO输出的进程。
p:进程/线程的显示方式的切换。
a:显示累积使用量。
q:退出。
实例
直接执行iotop就可以看到效果了:
Total DISK read: 0.00 B/s | Total DISK write: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> command
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [3]
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/1]
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]
2572 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bluetooth]
==================================================================================================================================================================================================================================================================
free命令:
性能监测与优化
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
语法:
free(选项)
选项:
-b:以Byte为单位显示内存使用情况;
-k:以KB为单位显示内存使用情况;
-m:以MB为单位显示内存使用情况;
-o:不显示缓冲区调节列;
-s<间隔秒数>:持续观察内存使用状况;
-t:显示内存总和列;
-V:显示版本信息。
实例
free -m
total used free shared buffers cached
Mem: 2016 1973 42 0 163 1497
-/+ buffers/cache: 312 1703
Swap: 4094 0 4094
第一部分Mem行解释:
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
shared:当前已经废弃不用;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。
关系:total = used + free
第二部分(-/+ buffers/cache)解释:
(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached
(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换分区。
==================================================================================================================================================================================================================================================================
ps命令:
进程和作业管理
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
语法:
ps(选项)
选项:
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
-c:显示CLS和PRI栏位。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:此选项的效果和指定"A"选项相同。
e:列出程序时,显示每个程序所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
-g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
h:不显示标题列。
-H:显示树状结构,表示程序间的相互关系。
-j或j:采用工作控制的格式显示程序状况。
-l或l:采用详细的格式来显示程序状况。
L:列出栏位的相关信息。
-m或m:显示所有的执行绪。
n:以数字来表示USER和WCHAN栏位。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。
-p<程序识别码>:指定程序识别码,并列出该程序的状况。
p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
r:只列出现行终端机正在执行中的程序。
-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s:采用程序信号的格式显示程序状况。
S:列出程序时,包括已中断的子程序资料。
-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
-T:显示现行终端机下的所有程序。
-u<用户识别码>:此选项的效果和指定"-U"选项相同。
u:以用户为主的格式来显示程序状况。
-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称>:列出属于该用户的程序的状况。
v:采用虚拟内存的格式显示程序状况。
-V或V:显示版本信息。
-w或w:采用宽阔的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
X:采用旧式的Linux i386登陆格式显示程序状况。
-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
-<程序识别码>:此选项的效果和指定"p"选项相同。
--cols<每列字符数>:设置每列的最大字符数。
--columns<每列字符数>:此选项的效果和指定"--cols"选项相同。
--cumulative:此选项的效果和指定"S"选项相同。
--deselect:此选项的效果和指定"-N"选项相同。
--forest:此选项的效果和指定"f"选项相同。
--headers:重复显示标题列。
--help:在线帮助。
--info:显示排错信息。
--lines<显示列数>:设置显示画面的列数。
--no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
--group<群组名称>:此选项的效果和指定"-G"选项相同。
--Group<群组识别码>:此选项的效果和指定"-G"选项相同。
--pid<程序识别码>:此选项的效果和指定"-p"选项相同。
--rows<显示列数>:此选项的效果和指定"--lines"选项相同。
--sid<阶段作业>:此选项的效果和指定"-s"选项相同。
--tty<终端机编号>:此选项的效果和指定"-t"选项相同。
--user<用户名称>:此选项的效果和指定"-U"选项相同。
--User<用户识别码>:此选项的效果和指定"-U"选项相同。
--version:此选项的效果和指定"-V"选项相同。
--widty<每列字符数>:此选项的效果和指定"-cols"选项相同。
由于ps命令能够支持的系统类型相当的多,所以选项多的离谱!
==================================================================================================================================================================================================================================================================
netstat命令:
网络测试
netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
语法:
netstat(选项)
选项:
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
实例:
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口
列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口
显示每个协议的统计信息
netstat -s 显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息
在netstat输出中显示 PID 和进程名称
netstat -pt
netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。
在netstat输出中不显示主机,端口和用户名(host, port or user)
当你不想让主机,端口和用户名显示,使用netstat -n。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。
netstat -an
如果只是不想让这三个名称中的一个被显示,使用以下命令:
netsat -a --numeric-ports
netsat -a --numeric-hosts
netsat -a --numeric-users
持续输出netstat信息
netstat -c #每隔一秒输出网络信息
显示系统不支持的地址族(Address Families)
netstat --verbose
在输出的末尾,会有如下的信息:
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.
显示核心路由信息
netstat -r
使用netstat -rn显示数字格式,不查询主机名称。
找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -ap | grep ssh
找出运行在指定端口的进程:
netstat -an | grep ':80'
显示网络接口列表
netstat -i
显示详细信息,像是ifconfig使用netstat -ie。
IP和TCP分析
查看连接某服务端口最多的的IP地址:
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr
TCP各种状态列表:
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'
查看phpcgi进程数,如果接近预设值,说明不够用,需要增加:
netstat -anpo | grep "php-cgi" | wc -l
==================================================================================================================================================================================================================================================================
ss命令:
高级网络
ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。
天下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。
语法:
ss(选项)
选项:
-h:显示帮助信息;
-V:显示指令版本信息;
-n:不解析服务名称,以数字方式显示;
-a:显示所有的套接字;
-l:显示处于监听状态的套接字;
-o:显示计时器信息;
-m:显示套接字的内存使用情况;
-p:显示使用套接字的进程信息;
-i:显示内部的TCP信息;
-4:只显示ipv4的套接字;
-6:只显示ipv6的套接字;
-t:只显示tcp套接字;
-u:只显示udp套接字;
-d:只显示DCCP套接字;
-w:仅显示RAW套接字;
-x:仅显示UNIX域套接字。
实例
显示ICP连接
[root@localhost ~]# ss -t -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 0 *:3306
*:*
LISTEN 0 0 *:http *:*
LISTEN 0 0 *:ssh *:*
LISTEN 0 0 127.0.0.1:smtp *:*
ESTAB 0 0 112.124.15.130:42071 42.156.166.25:http
ESTAB 0 0 112.124.15.130:ssh 121.229.196.235:33398
显示 Sockets 摘要
[root@localhost ~]# ss -s
Total: 172 (kernel 189)
TCP: 10 (estab 2, closed 4, orphaned 0, synrecv 0, timewait 0/0), ports 5
Transport Total ip IPv6
* 189 - -
RAW 0 0 0
UDP 5 5 0
TCP 6 6 0
INET 11 11 0
FRAG 0 0 0
列出当前的established, closed, orphaned and waiting TCP sockets
列出所有打开的网络连接端口
[root@localhost ~]# ss -l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 *:3306 *:*
0 0 *:http *:*
0 0 *:ssh *:*
0 0 127.0.0.1:smtp *:*
查看进程使用的socket
[root@localhost ~]# ss -pl
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 *:3306 *:* users:(("mysqld",1718,10))
0 0 *:http *:* users:(("nginx",13312,5),("nginx",13333,5))
0 0 *:ssh *:* users:(("sshd",1379,3))
0 0 127.0.0.1:smtp *:* us
找出打开套接字/端口应用程序
[root@localhost ~]# ss -pl | grep 3306
0 0 *:3306 *:* users:(("mysqld",1718,10))
显示所有UDP Sockets
[root@localhost ~]# ss -u -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:syslog *:*
UNCONN 0 0 112.124.15.130:ntp *:*
UNCONN 0 0 10.160.7.81:ntp *:*
UNCONN 0 0 127.0.0.1:ntp *:*
UNCONN 0 0 *:ntp *:*
==================================================================================================================================================================================================================================================================
tcpdump命令:
高级网络
tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
语法:
tcpdump(选项)
选项:
-a:尝试将网络和广播地址转换成名称;
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F<表达文件>:指定内含表达方式的文件;
-i<网络界面>:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q :快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件读取数据包数据;
-s<数据包大小>:设置每个数据包的大小;
-S:用绝对而非相对数值列出TCP关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt: 在每列倾倒资料上显示未经格式化的时间戳记;
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w<数据包文件>:把数据包数据写入指定的文件。
实例:
直接启动tcpdump将监视第一个网络接口上所有流过的数据包
tcpdump
监视指定网络接口的数据包
tcpdump -i eth1
如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。
监视指定主机的数据包
打印所有进入或离开sundown的数据包。
tcpdump host sundown
也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包
tcpdump host 210.27.48.1
打印helios 与 hot 或者与 ace 之间通信的数据包
tcpdump host helios and \( hot or ace \)
截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包.
tcpdump ip host ace and not helios
如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2
截获主机hostname发送的所有数据
tcpdump -i eth0 src host hostname
监视所有送到主机hostname的数据包
tcpdump -i eth0 dst host hostname
监视指定主机和端口的数据包
如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令
tcpdump tcp port 23 host 210.27.48.1
对本机的udp 123 端口进行监视 123 为ntp的服务端口
tcpdump udp port 123
监视指定网络的数据包
打印本地主机与Berkeley网络上的主机之间的所有通信数据包
tcpdump net ucb-ether
ucb-ether此处可理解为“Berkeley网络”的网络地址,此表达式最原始的含义可表达为:打印网络地址为ucb-ether的所有数据包
打印所有通过网关snup的ftp数据包
tcpdump 'gateway snup and (port ftp or ftp-data)'
注意:表达式被单引号括起来了,这可以防止shell对其中的括号进行错误解析
打印所有源地址或目标地址是本地主机的IP数据包
tcpdump ip and not net localnet
如果本地网络通过网关连到了另一网络,则另一网络并不能算作本地网络。
==================================================================================================================================================================================================================================================================
[root@localhost ~]# iostat
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年01月23日 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.10 0.00 0.38 0.04 0.00 99.48
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.35 1.76 3.31 1088 2048
sda 7.28 188.30 9.22 116365 5698
[root@localhost ~]# iostat 1
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年01月23日 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.10 0.00 0.37 0.03 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.33 1.69 3.18 1088 2048
sda 6.99 180.66 8.93 116373 5754
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.00 0.00 0.00 0 0
sda 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.00 0.00 0.00 0 0
sda 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.00 0.00 0.00 0 0
sda 0.00 0.00 0.00 0 0
^C
[root@localhost ~]# sar -b
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年01月23日 _x86_64_ (4 CPU)
20时51分44秒 LINUX RESTART
[root@localhost ~]# sar -b
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年01月23日 _x86_64_ (4 CPU)
20时51分44秒 LINUX RESTART
[root@localhost ~]# iostat -x
Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2018年01月23日 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.09 0.00 0.33 0.03 0.00 99.54
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.30 0.01 1.53 2.89 29.17 0.00 0.19 0.15 2.25 0.13 0.00
sda 0.01 0.04 5.41 0.96 164.15 8.23 54.14 0.00 0.46 0.49 0.25 0.29 0.18
[root@localhost ~]# iotop
-bash: iotop: 未找到命令
[root@localhost ~]# yum instatll -y iotop
已加载插件:fastestmirror
没有该命令:instatll。请使用 /usr/bin/yum --help
[root@localhost ~]# yum install -y iotop
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 7.1 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
updates/7/x86_64/primary_db | 5.3 MB 00:00:00
Loading mirror speeds from cached hostfile
* epel: mirrors.sohu.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 iotop.noarch.0.0.6-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===================================================================================================
Package 架构 版本 源 大小
===================================================================================================
正在安装:
iotop noarch 0.6-2.el7 base 52 k
事务概要
===================================================================================================
安装 1 软件包
总下载量:52 k
安装大小:156 k
Downloading packages:
iotop-0.6-2.el7.noarch.rpm | 52 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : iotop-0.6-2.el7.noarch 1/1
验证中 : iotop-0.6-2.el7.noarch 1/1
已安装:
iotop.noarch 0:0.6-2.el7
完毕!
[root@localhost ~]# iotop
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 4162512 176684 3682264 8784 303564 3721624
Swap: 2097148 0 2097148
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 4064 172 3595 8 296 3634
Swap: 2047 0 2047
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 4.0G 172M 3.5G 8.6M 296M 3.5G
Swap: 2.0G 0B 2.0G
[root@localhost ~]# ps aus
error: conflicting format options
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 190660 3588 ? Ss 20:51 0:02 /usr/lib/systemd/systemd --switch
root 2 0.0 0.0 0 0 ? S 20:51 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 20:51 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 20:51 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 20:51 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 20:51 0:00 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 20:51 0:00 [watchdog/0]
root 11 0.0 0.0 0 0 ? S 20:51 0:00 [watchdog/1]
root 12 0.0 0.0 0 0 ? S 20:51 0:00 [migration/1]
root 13 0.0 0.0 0 0 ? S 20:51 0:00 [ksoftirqd/1]
root 14 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/1:0]
root 15 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/1:0H]
root 16 0.0 0.0 0 0 ? S 20:51 0:00 [watchdog/2]
root 17 0.0 0.0 0 0 ? S 20:51 0:00 [migration/2]
root 18 0.0 0.0 0 0 ? S 20:51 0:00 [ksoftirqd/2]
root 20 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/2:0H]
root 21 0.0 0.0 0 0 ? S 20:51 0:00 [watchdog/3]
root 22 0.0 0.0 0 0 ? S 20:51 0:00 [migration/3]
root 23 0.0 0.0 0 0 ? S 20:51 0:00 [ksoftirqd/3]
root 25 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/3:0H]
root 27 0.0 0.0 0 0 ? S< 20:51 0:00 [khelper]
root 28 0.0 0.0 0 0 ? S 20:51 0:00 [kdevtmpfs]
root 29 0.0 0.0 0 0 ? S< 20:51 0:00 [netns]
root 30 0.0 0.0 0 0 ? S 20:51 0:00 [khungtaskd]
root 31 0.0 0.0 0 0 ? S< 20:51 0:00 [writeback]
root 32 0.0 0.0 0 0 ? S< 20:51 0:00 [kintegrityd]
root 33 0.0 0.0 0 0 ? S< 20:51 0:00 [bioset]
root 34 0.0 0.0 0 0 ? S< 20:51 0:00 [kblockd]
root 35 0.0 0.0 0 0 ? S< 20:51 0:00 [md]
root 36 0.0 0.0 0 0 ? R 20:51 0:01 [kworker/0:1]
root 38 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/2:1]
root 43 0.0 0.0 0 0 ? S 20:51 0:00 [kswapd0]
root 44 0.0 0.0 0 0 ? SN 20:51 0:00 [ksmd]
root 45 0.0 0.0 0 0 ? SN 20:51 0:00 [khugepaged]
root 46 0.0 0.0 0 0 ? S 20:51 0:00 [fsnotify_mark]
root 47 0.0 0.0 0 0 ? S< 20:51 0:00 [crypto]
root 55 0.0 0.0 0 0 ? S< 20:51 0:00 [kthrotld]
root 56 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/u256:1]
root 57 0.0 0.0 0 0 ? S< 20:51 0:00 [kmpath_rdacd]
root 58 0.0 0.0 0 0 ? S< 20:51 0:00 [kpsmoused]
root 60 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/2:2]
root 61 0.0 0.0 0 0 ? S< 20:51 0:00 [ipv6_addrconf]
root 80 0.0 0.0 0 0 ? S< 20:51 0:00 [deferwq]
root 81 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/3:1]
root 114 0.0 0.0 0 0 ? S 20:51 0:00 [kauditd]
root 257 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/3:2]
root 259 0.0 0.0 0 0 ? S< 20:51 0:00 [mpt_poll_0]
root 260 0.0 0.0 0 0 ? S< 20:51 0:00 [ata_sff]
root 261 0.0 0.0 0 0 ? S< 20:51 0:00 [mpt/0]
root 269 0.0 0.0 0 0 ? S 20:51 0:00 [scsi_eh_0]
root 270 0.0 0.0 0 0 ? S< 20:51 0:00 [scsi_tmf_0]
root 271 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/u256:2]
root 272 0.0 0.0 0 0 ? S 20:51 0:00 [scsi_eh_1]
root 273 0.0 0.0 0 0 ? S< 20:51 0:00 [scsi_tmf_1]
root 274 0.0 0.0 0 0 ? S 20:51 0:00 [scsi_eh_2]
root 275 0.0 0.0 0 0 ? S< 20:51 0:00 [scsi_tmf_2]
root 278 0.0 0.0 0 0 ? S< 20:51 0:00 [ttm_swap]
root 293 0.0 0.0 0 0 ? S 20:51 0:00 [kworker/1:2]
root 299 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/0:1H]
root 308 0.0 0.0 0 0 ? S< 20:51 0:00 [xfsalloc]
root 309 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs_mru_cache]
root 310 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-buf/sda3]
root 311 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-data/sda3]
root 312 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-conv/sda3]
root 313 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-cil/sda3]
root 314 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-reclaim/sda]
root 315 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-log/sda3]
root 316 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-eofblocks/s]
root 317 0.0 0.0 0 0 ? S 20:51 0:00 [xfsaild/sda3]
root 387 0.0 0.0 36828 3188 ? Ss 20:51 0:00 /usr/lib/systemd/systemd-journald
root 410 0.0 0.0 43848 2128 ? Ss 20:51 0:00 /usr/lib/systemd/systemd-udevd
root 412 0.0 0.0 118848 1296 ? Ss 20:51 0:00 /usr/sbin/lvmetad -f
root 436 0.0 0.0 0 0 ? S< 20:51 0:00 [nfit]
root 476 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-buf/sda1]
root 479 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-data/sda1]
root 484 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-conv/sda1]
root 485 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-buf/sdb]
root 486 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-data/sdb]
root 487 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-conv/sdb]
root 488 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-cil/sda1]
root 489 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-cil/sdb]
root 490 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-reclaim/sda]
root 491 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-reclaim/sdb]
root 492 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-log/sda1]
root 494 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-log/sdb]
root 499 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-eofblocks/s]
root 500 0.0 0.0 0 0 ? S< 20:51 0:00 [xfs-eofblocks/s]
root 502 0.0 0.0 0 0 ? S 20:51 0:00 [xfsaild/sda1]
root 503 0.0 0.0 0 0 ? S 20:51 0:00 [xfsaild/sdb]
root 527 0.0 0.0 55428 1720 ? S<sl 20:51 0:00 /sbin/auditd -n
dbus 549 0.0 0.0 24544 1796 ? Ss 20:51 0:00 /bin/dbus-daemon --system --addre
chrony 552 0.0 0.0 115860 1836 ? S 20:51 0:00 /usr/sbin/chronyd
root 557 0.0 0.0 24204 1680 ? Ss 20:51 0:00 /usr/lib/systemd/systemd-logind
root 558 0.0 0.1 302648 6096 ? Ssl 20:51 0:01 /usr/bin/vmtoolsd
polkitd 559 0.0 0.3 528180 12636 ? Ssl 20:51 0:00 /usr/lib/polkit-1/polkitd --no-de
root 561 0.0 0.0 19324 1260 ? Ss 20:51 0:00 /usr/sbin/irqbalance --foreground
root 568 0.0 0.0 126232 1600 ? Ss 20:51 0:00 /usr/sbin/crond -n
root 576 0.0 0.0 110048 824 tty1 Ss+ 20:51 0:00 /sbin/agetty --noclear tty1 linux
root 596 0.0 0.7 331544 31060 ? Ssl 20:51 0:00 /usr/bin/python -Es /usr/sbin/fir
root 598 0.0 0.2 727104 9060 ? Ssl 20:51 0:00 /usr/sbin/NetworkManager --no-dae
root 635 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/3:1H]
root 663 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/2:1H]
root 704 0.0 0.3 112832 15868 ? S 20:51 0:00 /sbin/dhclient -d -q -sf /usr/lib
root 706 0.0 0.3 112832 15872 ? S 20:51 0:00 /sbin/dhclient -d -q -sf /usr/lib
root 778 0.0 0.0 0 0 ? S< 20:51 0:00 [kworker/1:1H]
root 1088 0.0 0.3 553160 16440 ? Ssl 20:51 0:00 /usr/bin/python -Es /usr/sbin/tun
root 1089 0.0 0.0 219788 3924 ? Ssl 20:51 0:00 /usr/sbin/rsyslogd -n
root 1102 0.0 0.0 82480 1264 ? Ss 20:51 0:00 /usr/sbin/sshd
root 1643 0.0 0.0 88992 2068 ? Ss 20:51 0:00 /usr/libexec/postfix/master -w
postfix 1668 0.0 0.0 89096 3936 ? S 20:51 0:00 pickup -l -t unix -u
postfix 1669 0.0 0.0 89164 3964 ? S 20:51 0:00 qmgr -l -t unix -u
root 2297 0.0 0.1 142984 5124 ? Ds 20:51 0:00 sshd: root@pts/0
root 2329 0.0 0.0 115924 2544 pts/0 Ss 20:51 0:00 -bash
root 2373 0.0 0.0 125332 1108 ? Ss 21:01 0:00 /usr/sbin/anacron -s
root 2697 0.0 0.0 0 0 ? S 21:16 0:00 [kworker/0:2]
root 2746 0.0 0.0 0 0 ? S 21:21 0:00 [kworker/0:0]
root 2748 0.0 0.0 151068 1812 pts/0 R+ 21:23 0:00 ps aux
[root@localhost ~]# ps aux |grep nginx
root 2752 0.0 0.0 112676 976 pts/0 S+ 21:25 0:00 grep --color=auto nginx
[root@localhost ~]# ps aux |grep myspl
root 2754 0.0 0.0 112676 972 pts/0 S+ 21:25 0:00 grep --color=auto myspl
[root@localhost ~]# net
netreport netstat nettle-hash nettle-lfib-stream
[root@localhost ~]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1102/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1643/master
tcp6 0 0 :::22 :::* LISTEN 1102/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1643/master
udp 0 0 0.0.0.0:36774 0.0.0.0:* 704/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 704/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 706/dhclient
udp 0 0 0.0.0.0:49360 0.0.0.0:* 706/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 552/chronyd
udp6 0 0 :::47898 :::* 704/dhclient
udp6 0 0 :::36774 :::* 706/dhclient
udp6 0 0 ::1:323 :::* 552/chronyd
raw6 0 0 :::58 :::* 7 598/NetworkManager
raw6 0 0 :::58 :::* 7 598/NetworkManager
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 19352 1643/master private/tlsmgr
unix 2 [ ACC ] STREAM LISTENING 19355 1643/master private/rewrite
unix 2 [ ACC ] STREAM LISTENING 19358 1643/master private/bounce
unix 2 [ ACC ] STREAM LISTENING 19361 1643/master private/defer
unix 2 [ ACC ] STREAM LISTENING 19364 1643/master private/trace
unix 2 [ ACC ] STREAM LISTENING 19367 1643/master private/verify
unix 2 [ ACC ] STREAM LISTENING 19373 1643/master private/proxymap
unix 2 [ ACC ] STREAM LISTENING 17341 1643/master private/smtp
unix 2 [ ACC ] STREAM LISTENING 17344 1643/master private/relay
unix 2 [ ACC ] STREAM LISTENING 17350 1643/master private/error
unix 2 [ ACC ] STREAM LISTENING 17353 1643/master private/retry
unix 2 [ ACC ] STREAM LISTENING 17356 1643/master private/discard
unix 2 [ ACC ] STREAM LISTENING 17359 1643/master private/local
unix 2 [ ACC ] STREAM LISTENING 17362 1643/master private/virtual
unix 2 [ ACC ] STREAM LISTENING 17365 1643/master private/lmtp
unix 2 [ ACC ] STREAM LISTENING 17368 1643/master private/anvil
unix 2 [ ACC ] STREAM LISTENING 17371 1643/master private/scache
unix 2 [ ACC ] STREAM LISTENING 10323 1/systemd /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 14442 1/systemd /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 14483 1/systemd /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 14500 1/systemd /run/lvm/lvmpolld.socket
unix 2 [ ACC ] SEQPACKET LISTENING 14503 1/systemd /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 19341 1643/master public/pickup
unix 2 [ ACC ] STREAM LISTENING 19345 1643/master public/cleanup
unix 2 [ ACC ] STREAM LISTENING 19348 1643/master public/qmgr
unix 2 [ ACC ] STREAM LISTENING 19370 1643/master public/flush
unix 2 [ ACC ] STREAM LISTENING 17347 1643/master public/showq
unix 2 [ ACC ] STREAM LISTENING 17609 598/NetworkManager /var/run/NetworkManager/private-dhcp
unix 2 [ ACC ] STREAM LISTENING 19376 1643/master private/proxywrite
unix 2 [ ACC ] STREAM LISTENING 13304 1/systemd /var/run/dbus/system_bus_socket
[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 52 192.168.183.128:22 192.168.183.1:50723 ESTABLISHED
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
udp 0 0 192.168.44.128:35932 173.255.246.13:123 ESTABLISHED
udp 0 0 0.0.0.0:36774 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:49360 0.0.0.0:*
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp6 0 0 :::47898 :::*
udp6 0 0 :::36774 :::*
udp6 0 0 ::1:323 :::*
raw6 0 0 :::58 :::* 7
raw6 0 0 :::58 :::* 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 19352 private/tlsmgr
unix 2 [ ACC ] STREAM LISTENING 19355 private/rewrite
unix 2 [ ACC ] STREAM LISTENING 19358 private/bounce
unix 2 [ ACC ] STREAM LISTENING 19361 private/defer
unix 2 [ ACC ] STREAM LISTENING 19364 private/trace
unix 2 [ ACC ] STREAM LISTENING 19367 private/verify
unix 2 [ ACC ] STREAM LISTENING 19373 private/proxymap
unix 2 [ ACC ] STREAM LISTENING 17341 private/smtp
unix 2 [ ] DGRAM 10313 /run/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 17344 private/relay
unix 2 [ ACC ] STREAM LISTENING 17350 private/error
unix 2 [ ] DGRAM 10315 /run/systemd/cgroups-agent
unix 2 [ ACC ] STREAM LISTENING 17353 private/retry
unix 2 [ ACC ] STREAM LISTENING 17356 private/discard
unix 2 [ ACC ] STREAM LISTENING 17359 private/local
unix 2 [ ACC ] STREAM LISTENING 17362 private/virtual
unix 2 [ ACC ] STREAM LISTENING 17365 private/lmtp
unix 2 [ ACC ] STREAM LISTENING 17368 private/anvil
unix 2 [ ACC ] STREAM LISTENING 17371 private/scache
unix 2 [ ACC ] STREAM LISTENING 10323 /run/systemd/journal/stdout
unix 5 [ ] DGRAM 10326 /run/systemd/journal/socket
unix 15 [ ] DGRAM 10328 /dev/log
unix 2 [ ACC ] STREAM LISTENING 14442 /run/systemd/private
unix 2 [ ] DGRAM 14453 /run/systemd/shutdownd
unix 2 [ ACC ] STREAM LISTENING 14483 /run/lvm/lvmetad.socket
unix 2 [ ACC ] STREAM LISTENING 14500 /run/lvm/lvmpolld.socket
unix 2 [ ACC ] SEQPACKET LISTENING 14503 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 19341 public/pickup
unix 2 [ ACC ] STREAM LISTENING 19345 public/cleanup
unix 2 [ ACC ] STREAM LISTENING 19348 public/qmgr
unix 2 [ ACC ] STREAM LISTENING 19370 public/flush
unix 2 [ ACC ] STREAM LISTENING 17347 public/showq
unix 2 [ ACC ] STREAM LISTENING 17609 /var/run/NetworkManager/private-dhcp
unix 2 [ ACC ] STREAM LISTENING 19376 private/proxywrite
unix 2 [ ACC ] STREAM LISTENING 13304 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 17091
unix 3 [ ] STREAM CONNECTED 19365
unix 3 [ ] STREAM CONNECTED 19374
unix 3 [ ] STREAM CONNECTED 19366
unix 3 [ ] STREAM CONNECTED 19375
unix 2 [ ] DGRAM 18153
unix 2 [ ] DGRAM 20722
unix 3 [ ] STREAM CONNECTED 19368
unix 3 [ ] STREAM CONNECTED 19042 /run/systemd/journal/stdout
unix 2 [ ] DGRAM 14600
unix 3 [ ] STREAM CONNECTED 19363
unix 2 [ ] DGRAM 15719
unix 3 [ ] STREAM CONNECTED 17351
unix 3 [ ] STREAM CONNECTED 19360
unix 3 [ ] STREAM CONNECTED 13973
unix 3 [ ] STREAM CONNECTED 19362
unix 3 [ ] STREAM CONNECTED 17352
unix 3 [ ] STREAM CONNECTED 13972
unix 2 [ ] DGRAM 16708
unix 2 [ ] DGRAM 13058
unix 3 [ ] STREAM CONNECTED 13296
unix 3 [ ] STREAM CONNECTED 13295
unix 2 [ ] DGRAM 15655
unix 2 [ ] DGRAM 13294
unix 2 [ ] DGRAM 20749
unix 3 [ ] STREAM CONNECTED 19357
unix 3 [ ] STREAM CONNECTED 13659 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19194
unix 3 [ ] STREAM CONNECTED 17343
unix 3 [ ] STREAM CONNECTED 19734 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 19353
unix 2 [ ] DGRAM 17318
unix 2 [ ] DGRAM 16558
unix 3 [ ] STREAM CONNECTED 17342
unix 3 [ ] STREAM CONNECTED 17370
unix 3 [ ] STREAM CONNECTED 16605 /var/run/dbus/system_bus_socket
unix 2 [ ] DGRAM 11175
unix 3 [ ] STREAM CONNECTED 17373
unix 3 [ ] STREAM CONNECTED 19369
unix 3 [ ] STREAM CONNECTED 17372
unix 3 [ ] STREAM CONNECTED 17345
unix 3 [ ] STREAM CONNECTED 19356
unix 3 [ ] STREAM CONNECTED 14268
unix 2 [ ] DGRAM 15376
unix 3 [ ] STREAM CONNECTED 19350
unix 3 [ ] STREAM CONNECTED 17519 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 13974 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 19359
unix 3 [ ] STREAM CONNECTED 14306
unix 3 [ ] STREAM CONNECTED 14252 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 13965
unix 3 [ ] STREAM CONNECTED 16578 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 15496
unix 2 [ ] DGRAM 17397
unix 3 [ ] STREAM CONNECTED 15451
unix 3 [ ] STREAM CONNECTED 11153 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 17346
unix 3 [ ] STREAM CONNECTED 11006
unix 3 [ ] STREAM CONNECTED 15445
unix 3 [ ] STREAM CONNECTED 14281
unix 3 [ ] STREAM CONNECTED 16573
unix 3 [ ] STREAM CONNECTED 11173 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19349
unix 3 [ ] STREAM CONNECTED 19354
unix 3 [ ] STREAM CONNECTED 17339
unix 3 [ ] STREAM CONNECTED 19340
unix 3 [ ] STREAM CONNECTED 17358
unix 3 [ ] STREAM CONNECTED 17349
unix 3 [ ] STREAM CONNECTED 19339
unix 3 [ ] STREAM CONNECTED 15446 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 17361
unix 3 [ ] STREAM CONNECTED 17441 /run/systemd/journal/stdout
unix 3 [ ] DGRAM 11018
unix 3 [ ] STREAM CONNECTED 19346
unix 3 [ ] STREAM CONNECTED 17360
unix 3 [ ] STREAM CONNECTED 11178 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 19343
unix 3 [ ] STREAM CONNECTED 17355
unix 3 [ ] STREAM CONNECTED 13699
unix 3 [ ] STREAM CONNECTED 17354
unix 3 [ ] STREAM CONNECTED 15375
unix 3 [ ] DGRAM 11017
unix 3 [ ] STREAM CONNECTED 19342
unix 3 [ ] STREAM CONNECTED 14716 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 17357
unix 3 [ ] STREAM CONNECTED 17348
unix 3 [ ] STREAM CONNECTED 17340
unix 3 [ ] STREAM CONNECTED 19372
unix 3 [ ] STREAM CONNECTED 14113 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 14020
unix 3 [ ] STREAM CONNECTED 17367
unix 3 [ ] STREAM CONNECTED 19347
unix 3 [ ] STREAM CONNECTED 17366
unix 3 [ ] STREAM CONNECTED 17369
unix 2 [ ] DGRAM 16576
unix 2 [ ] DGRAM 18881
unix 3 [ ] STREAM CONNECTED 17363
unix 3 [ ] STREAM CONNECTED 15506 /run/systemd/journal/stdout
unix 3 [ ] STREAM CONNECTED 16512
unix 3 [ ] STREAM CONNECTED 19371
unix 3 [ ] STREAM CONNECTED 15637
unix 3 [ ] STREAM CONNECTED 17364
[root@localhost ~]# netstat -an |awk `/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}`
-bash: command substitution:行1: 未预期的符号 `(' 附近有语法错误
-bash: command substitution:行1: `/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
Short options: GNU long options: (extensions)
-b --characters-as-bytes
-c --traditional
-C --copyright
-d[file] --dump-variables[=file]
-e 'program-text' --source='program-text'
-E file --exec=file
-g --gen-pot
-h --help
-L [fatal] --lint[=fatal]
-n --non-decimal-data
-N --use-lc-numeric
-O --optimize
-p[file] --profile[=file]
-P --posix
-r --re-interval
-S --sandbox
-t --lint-old
-V --version
To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.
gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.
Examples:
gawk '{ sum += $1 }; END { print sum }' file
gawk -F: '{ print $1 }' /etc/passwd
[root@localhost ~]# netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
LISTEN 4
ESTABLISHED 1
[root@localhost ~]# ss -an
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
nl UNCONN 0 0 0:998244950 *
nl UNCONN 0 0 0:0 *
nl UNCONN 0 0 0:998244950 *
nl UNCONN 4352 0 4:2875 *
nl UNCONN 768 0 4:0 *
nl UNCONN 0 0 6:0 *
nl UNCONN 0 0 7:0 *
nl UNCONN 0 0 9:0 *
nl UNCONN 0 0 9:1 *
nl UNCONN 0 0 9:527 *
nl UNCONN 0 0 10:0 *
nl UNCONN 0 0 11:0 *
nl UNCONN 0 0 12:0 *
nl UNCONN 0 0 15:-4132 *
nl UNCONN 0 0 15:-4130 *
nl UNCONN 0 0 15:1 *
nl UNCONN 0 0 15:1088 *
nl UNCONN 0 0 15:0 *
nl UNCONN 0 0 15:557 *
nl UNCONN 0 0 15:-4113 *
nl UNCONN 0 0 15:598 *
nl UNCONN 0 0 15:-4129 *
nl UNCONN 0 0 15:-4131 *
nl UNCONN 0 0 15:410 *
nl UNCONN 0 0 15:1088 *
nl UNCONN 0 0 15:-4132 *
nl UNCONN 0 0 15:598 *
nl UNCONN 0 0 15:-4131 *
nl UNCONN 0 0 15:-4130 *
nl UNCONN 0 0 15:-4129 *
nl UNCONN 0 0 15:557 *
nl UNCONN 0 0 15:-4113 *
nl UNCONN 0 0 15:1 *
nl UNCONN 0 0 16:0 *
nl UNCONN 0 0 18:0 *
p_raw UNCONN 0 0 *:ens33 *
p_raw UNCONN 0 0 *:ens37 *
u_str LISTEN 0 100 private/tlsmgr 19352 * 0
u_str LISTEN 0 100 private/rewrite 19355 * 0
u_str LISTEN 0 100 private/bounce 19358 * 0
u_str LISTEN 0 100 private/defer 19361 * 0
u_str LISTEN 0 100 private/trace 19364 * 0
u_str LISTEN 0 100 private/verify 19367 * 0
u_str LISTEN 0 100 private/proxymap 19373 * 0
u_str LISTEN 0 100 private/smtp 17341 * 0
u_dgr UNCONN 0 0 /run/systemd/notify 10313 * 0
u_str LISTEN 0 100 private/relay 17344 * 0
u_str LISTEN 0 100 private/error 17350 * 0
u_dgr UNCONN 0 0 /run/systemd/cgroups-agent 10315 * 0
u_str LISTEN 0 100 private/retry 17353 * 0
u_str LISTEN 0 100 private/discard 17356 * 0
u_str LISTEN 0 100 private/local 17359 * 0
u_str LISTEN 0 100 private/virtual 17362 * 0
u_str LISTEN 0 100 private/lmtp 17365 * 0
u_str LISTEN 0 100 private/anvil 17368 * 0
u_str LISTEN 0 100 private/scache 17371 * 0
u_str LISTEN 0 128 /run/systemd/journal/stdout 10323 * 0
u_dgr UNCONN 0 0 /run/systemd/journal/socket 10326 * 0
u_dgr UNCONN 0 0 /dev/log 10328 * 0
u_str LISTEN 0 128 /run/systemd/private 14442 * 0
u_dgr UNCONN 0 0 /run/systemd/shutdownd 14453 * 0
u_str LISTEN 0 128 /run/lvm/lvmetad.socket 14483 * 0
u_str LISTEN 0 128 /run/lvm/lvmpolld.socket 14500 * 0
u_seq LISTEN 0 128 /run/udev/control 14503 * 0
u_str LISTEN 0 100 public/pickup 19341 * 0
u_str LISTEN 0 100 public/cleanup 19345 * 0
u_str LISTEN 0 100 public/qmgr 19348 * 0
u_str LISTEN 0 100 public/flush 19370 * 0
u_str LISTEN 0 100 public/showq 17347 * 0
u_str LISTEN 0 10 /var/run/NetworkManager/private-dhcp 17609 * 0
u_str LISTEN 0 100 private/proxywrite 19376 * 0
u_str LISTEN 0 128 /var/run/dbus/system_bus_socket 13304 * 0
u_str ESTAB 0 0 * 17091 * 19042
u_str ESTAB 0 0 * 19365 * 19366
u_str ESTAB 0 0 * 19374 * 19375
u_str ESTAB 0 0 * 19366 * 19365
u_str ESTAB 0 0 * 19375 * 19374
u_dgr UNCONN 0 0 * 18153 * 10328
u_dgr UNCONN 0 0 * 20722 * 10328
u_str ESTAB 0 0 * 19368 * 19369
u_str ESTAB 0 0 /run/systemd/journal/stdout 19042 * 17091
u_dgr UNCONN 0 0 * 14600 * 10326
u_str ESTAB 0 0 * 19363 * 19362
u_dgr UNCONN 0 0 * 15719 * 10328
u_str ESTAB 0 0 * 17351 * 17352
u_str ESTAB 0 0 * 19360 * 19359
u_str ESTAB 0 0 * 13973 * 13972
u_str ESTAB 0 0 * 19362 * 19363
u_str ESTAB 0 0 * 17352 * 17351
u_str ESTAB 0 0 * 13972 * 13973
u_dgr UNCONN 0 0 * 16708 * 10328
u_dgr UNCONN 0 0 * 13058 * 10326
u_str ESTAB 0 0 * 13296 * 13295
u_str ESTAB 0 0 * 13295 * 13296
u_dgr UNCONN 0 0 * 15655 * 10328
u_dgr UNCONN 0 0 * 13294 * 10328
u_str ESTAB 0 0 * 19357 * 19356
u_str ESTAB 0 0 /run/systemd/journal/stdout 13659 * 11006
u_str ESTAB 0 0 * 19194 * 19734
u_str ESTAB 0 0 * 17343 * 17342
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 19734 * 19194
u_str ESTAB 0 0 * 19353 * 19354
u_dgr UNCONN 0 0 * 17318 * 10328
u_dgr UNCONN 0 0 * 16558 * 10328
u_str ESTAB 0 0 * 17342 * 17343
u_str ESTAB 0 0 * 17370 * 17369
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 16605 * 14281
u_dgr UNCONN 0 0 * 11175 * 10326
u_str ESTAB 0 0 * 17373 * 17372
u_str ESTAB 0 0 * 19369 * 19368
u_str ESTAB 0 0 * 17372 * 17373
u_str ESTAB 0 0 * 17345 * 17346
u_str ESTAB 0 0 * 19356 * 19357
u_str ESTAB 0 0 * 14268 * 16578
u_dgr UNCONN 0 0 * 15376 * 10328
u_str ESTAB 0 0 * 19350 * 19349
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 17519 * 14306
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 13974 * 15375
u_str ESTAB 0 0 * 19359 * 19360
u_str ESTAB 0 0 * 14306 * 17519
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 14252 * 16573
u_str ESTAB 0 0 * 13965 * 11153
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 16578 * 14268
u_str ESTAB 0 0 * 15496 * 11178
u_dgr UNCONN 0 0 * 17397 * 10328
u_str ESTAB 0 0 * 15451 * 14113
u_str ESTAB 0 0 /run/systemd/journal/stdout 11153 * 13965
u_str ESTAB 0 0 * 17346 * 17345
u_str ESTAB 0 0 * 11006 * 13659
u_str ESTAB 0 0 * 15445 * 11173
u_str ESTAB 0 0 * 14281 * 16605
u_str ESTAB 0 0 * 16573 * 14252
u_str ESTAB 0 0 /run/systemd/journal/stdout 11173 * 15445
u_str ESTAB 0 0 * 19349 * 19350
u_str ESTAB 0 0 * 19354 * 19353
u_str ESTAB 0 0 * 17339 * 17340
u_str ESTAB 0 0 * 19340 * 19339
u_str ESTAB 0 0 * 17358 * 17357
u_str ESTAB 0 0 * 17349 * 17348
u_str ESTAB 0 0 * 19339 * 19340
u_str ESTAB 0 0 /run/systemd/journal/stdout 15446 * 14020
u_str ESTAB 0 0 * 17361 * 17360
u_str ESTAB 0 0 /run/systemd/journal/stdout 17441 * 15637
u_dgr UNCONN 0 0 * 11018 * 11017
u_str ESTAB 0 0 * 19346 * 19347
u_str ESTAB 0 0 * 17360 * 17361
u_str ESTAB 0 0 /run/systemd/journal/stdout 11178 * 15496
u_str ESTAB 0 0 * 19343 * 19342
u_str ESTAB 0 0 * 17355 * 17354
u_str ESTAB 0 0 * 13699 * 14716
u_str ESTAB 0 0 * 17354 * 17355
u_str ESTAB 0 0 * 15375 * 13974
u_dgr UNCONN 0 0 * 11017 * 11018
u_str ESTAB 0 0 * 19342 * 19343
u_str ESTAB 0 0 /run/systemd/journal/stdout 14716 * 13699
u_str ESTAB 0 0 * 17357 * 17358
u_str ESTAB 0 0 * 17348 * 17349
u_str ESTAB 0 0 * 17340 * 17339
u_str ESTAB 0 0 * 19372 * 19371
u_str ESTAB 0 0 /var/run/dbus/system_bus_socket 14113 * 15451
u_str ESTAB 0 0 * 14020 * 15446
u_str ESTAB 0 0 * 17367 * 17366
u_str ESTAB 0 0 * 19347 * 19346
u_str ESTAB 0 0 * 17366 * 17367
u_str ESTAB 0 0 * 17369 * 17370
u_dgr UNCONN 0 0 * 16576 * 10328
u_dgr UNCONN 0 0 * 18881 * 10328
u_str ESTAB 0 0 * 17363 * 17364
u_str ESTAB 0 0 /run/systemd/journal/stdout 15506 * 16512
u_str ESTAB 0 0 * 16512 * 15506
u_str ESTAB 0 0 * 19371 * 19372
u_str ESTAB 0 0 * 15637 * 17441
u_str ESTAB 0 0 * 17364 * 17363
udp UNCONN 0 0 :::58 :::*
udp UNCONN 0 0 :::58 :::*
udp UNCONN 0 0 *:36774 *:*
udp UNCONN 0 0 *:68 *:*
udp UNCONN 0 0 *:68 *:*
udp UNCONN 0 0 *:49360 *:*
udp UNCONN 0 0 127.0.0.1:323 *:*
udp UNCONN 0 0 :::47898 :::*
udp UNCONN 0 0 :::36774 :::*
udp UNCONN 0 0 ::1:323 :::*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp ESTAB 0 0 192.168.183.128:22 192.168.183.1:50723
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
[root@localhost ~]# tcpdump
-bash: tcpdump: 未找到命令
[root@localhost ~]# yum install -y tcpdumo
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.sohu.com
没有可用软件包 tcpdumo。
错误:无须任何处理
[root@localhost ~]# yum install -y tcpdum~p
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.sohu.com
没有可用软件包 tcpdum~p。
错误:无须任何处理
[root@localhost ~]# yum install -y tcpdump
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.sohu.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 tcpdump.x86_64.14.4.9.0-5.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===================================================================================================
Package 架构 版本 源 大小
===================================================================================================
正在安装:
tcpdump x86_64 14:4.9.0-5.el7 base 415 k
事务概要
===================================================================================================
安装 1 软件包
总下载量:415 k
安装大小:1.0 M
Downloading packages:
tcpdump-4.9.0-5.el7.x86_64.rpm | 415 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 14:tcpdump-4.9.0-5.el7.x86_64 1/1
验证中 : 14:tcpdump-4.9.0-5.el7.x86_64 1/1
已安装:
tcpdump.x86_64 14:4.9.0-5.el7
完毕!
[root@localhost ~]# tcpdump -nn
tcpdump: packet printing is not supported for link type NFLOG: use -w
[root@localhost ~]# tcpdump -nn -i ens37
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens37, link-type EN10MB (Ethernet), capture size 262144 bytes
21:58:02.666566 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 99418264:99418476, ack 2288889060, win 318, length 212
21:58:02.666765 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 212, win 2053, length 0
21:58:02.666813 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 212:408, ack 1, win 318, length 196
21:58:02.667041 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 408:684, ack 1, win 318, length 276
21:58:02.667249 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 684, win 2051, length 0
21:58:02.667328 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 684:960, ack 1, win 318, length 276
21:58:02.667421 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 960:1124, ack 1, win 318, length 164
21:58:02.667562 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 1124, win 2049, length 0
21:58:02.667566 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 1124:1304, ack 1, win 318, length 180
21:58:02.667606 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 1304:1580, ack 1, win 318, length 276
21:58:02.667849 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 1580, win 2047, length 0
21:58:02.667857 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 1580:1760, ack 1, win 318, length 180
21:58:02.667912 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq
57, win 318, length 180
21:58:04.017890 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 1162116, win 2050, length 0
21:58:04.017932 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 1162296:1162588, ack 157, win 318, length 292
21:58:04.018919 IP 192.168.183.128.22 > 192.168.183.1.50723: Flags [P.], seq 1162588:1162768, ack 157, win 318, length 180
21:58:04.018943 IP 192.168.183.1.50723 > 192.168.183.128.22: Flags [.], ack 1162588, win 2048, length 0
^C
7325 packets captured
7327 packets received by filter
0 packets dropped by kernel
[root@localhost ~]#