监控io性能,free,ps命令,查看网络状态以及抓包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控io性能,free,ps命令,查看网络状态以及抓包相关的知识,希望对你有一定的参考价值。

监控io性能

技术分享图片
1.iostat命令:

[[email protected] ~]# iostat
Linux 3.10.0-693.el7.x86_64 (weix01)    2018年01月23日     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.49    0.00    1.15    1.28    0.00   97.09

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              12.86       179.87        10.70      98142       5839
sdb               0.16         3.81         0.00       2080          0
scd0              0.03         1.88         0.00       1028          0

2.磁盘使用:

[[email protected] ~]# iostat -x 1        #  %util这一列表示占比
Linux 3.10.0-693.el7.x86_64 (weix01)    2018年01月23日     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.35    0.00    0.84    0.88    0.00   97.93

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.03    6.09    2.86   124.27     8.16    29.62     0.11   11.85    4.98   26.50   5.13   4.59
sdb               0.00     0.00    0.11    0.00     2.63     0.00    47.27     0.00    0.50    0.50    0.00   0.50   0.01
scd0              0.00     0.00    0.02    0.00     1.30     0.00   114.22     0.00   10.06   10.06    0.00   8.83   0.02

3.安装 iotop命令:

[[email protected] ~]# yum install -y iotop
已加载插件:fastestmirror
base                                                                                | 3.6 kB  00:
epel/x86_64/metalink                                                                | 6.8 kB  00:
extras                                                                              | 3.4 kB  00:
updates                                                                             | 3.4 kB  00:
updates/7/x86_64/primary_db                                                         | 5.3 MB  00:
Loading mirror speeds from cached hostfile
 * epel: mirrors.sohu.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 iotop.noarch.0.0.6-2.el7 将被 安装
--> 解决依赖关系完成

4.使用iotop命令查看磁盘使用:

Total DISK READ :   0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:   0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                         
   226 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.01 % [kworker/0:3]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switche~ --deserialize 21
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
     5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]

free命令

1.free命令:

[[email protected] ~]# free
              total        used        free      shared  buff/cache   available    #说明
Mem:         999700      129968      602740        6844      266992      689212      #内存使用情况
Swap:       2097148           0     2097148     #交换分区使用情况
[[email protected] ~]# free -h               #单位更加适合查看
              total        used        free      shared  buff/cache   available
Mem:           976M        126M        588M        6.7M        260M        673M
Swap:          2.0G          0B        2.0G

2.各个参数意义:

total     总共多少
used    使用多少
free      空余多少
buff/cache   预分配多少
 磁盘-->内存(cache)-->cpu^C
cpu-->内存(buffer)-->磁盘^C

3.total=used+free+buff/cache
4.available=free+buff/cache剩余部分

ps命令

技术分享图片
1.常用用法:

[[email protected] ~]# ps aux             查看当前状态
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.6 128164  6828 ?        Ss   21:00   0:01 /usr/lib/systemd/systemd --swi
root          2  0.0  0.0      0     0 ?        S    21:00   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    21:00   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   21:00   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    21:00   0:00 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    21:00   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    21:00   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        R    21:00   0:00 [rcu_sched]
[[email protected] ~]# ps aux |grep nginx      #配合管道符查看是否在运行
root       1648  0.0  0.0 112676   984 pts/0    R+   21:42   0:00 grep --color=auto nginx

2.查看进程在哪启动的:

[[email protected] ~]# ls -l /proc/501                  #501为命令PID
总用量 0
dr-xr-xr-x. 2 root root 0 1月  23 21:00 attr
-rw-r--r--. 1 root root 0 1月  23 21:46 autogroup
-r--------. 1 root root 0 1月  23 21:46 auxv
-r--r--r--. 1 root root 0 1月  23 21:00 cgroup
--w-------. 1 root root 0 1月  23 21:46 clear_refs
-r--r--r--. 1 root root 0 1月  23 21:00 cmdline
-rw-r--r--. 1 root root 0 1月  23 21:00 comm
-rw-r--r--. 1 root root 0 1月  23 21:46 coredump_filter
-r--r--r--. 1 root root 0 1月  23 21:46 cpuset
lrwxrwxrwx. 1 root root 0 1月  23 21:46 cwd -> /
-r--------. 1 root root 0 1月  23 21:46 environ
lrwxrwxrwx. 1 root root 0 1月  23 21:00 exe -> /usr/sbin/auditd

3.STAT状态说明:

D  不能中断的进程
R  run状态的进程
S  sleep状态进程
T  暂停的进程
Z  僵尸进程
<  高优先级进程
N  低优先级进程
L  内存中被锁了内存分页
s  主进程
l  多线程进程
+  前台进程

查看网络状态

技术分享图片
1.查看网络监听状态:

[[email protected] ~]# 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      888/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      993/master          
tcp6       0      0 :::22                   :::*                    LISTEN      888/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      993/master          
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1562/dhclient       

2.查看所有状态:

[[email protected] ~]# 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.188.130:22      192.168.188.1:51350     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:13109           0.0.0.0:*                          
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp6       0      0 :::5903                 :::*                               
udp6       0      0 ::1:323                 :::*                               
raw6       0      0 :::58                   :::*       

3.只看 tcp或者udp:

[[email protected] ~]# netstat -lntp                      #加上t
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      888/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      993/master          
tcp6       0      0 :::22                   :::*                    LISTEN      888/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      993/master          

4.统计端口状态数量:需要记下该命令

[[email protected] ~]# netstat -an|awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}‘
LISTEN   4
ESTABLISHED      1

需要关注established数量,表示并发数,通常1000以内。

5.ss -an与netstat异曲同工,但是不会显示进程名字

[[email protected] ~]# ss -an
Netid  State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
nl     UNCONN     0      0                 0:-440401336                     *                   
nl     UNCONN     0      0                 0:0                              *                   
nl     UNCONN     0      0                 0:-440401336                     *                   
nl     UNCONN     768    0                 4:0                              *                   
nl     UNCONN     4352   0                 4:4114                           *                   
nl     UNCONN     0      0                 6:0                              *                   
nl     UNCONN     0      0                 7:1                              *                   
nl     UNCONN     0      0                 7:0                              *        

linux下抓包

技术分享图片
1.安装tcpdump包:

[[email protected] ~]# yum install -y tcpdump
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.tongji.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 tcpdump.x86_64.14.4.9.0-5.el7 将被 安装
--> 正在处理依赖关系 libpcap.so.1()(64bit),它被软件包 14:tcpdump-4.9.0-5.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libpcap.x86_64.14.1.5.3-9.el7 将被 安装
--> 解决依赖关系完成

2.tcpdunp命令:

[[email protected] ~]# tcpdump -nn -i ens33   #两个nn 主机显示ip以及端口号,以数字方式显示
22:20:31.341911 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17045588:17045816, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955918], length 228
22:20:31.341984 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17045816:17046204, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955918], length 388
22:20:31.342064 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17046204:17046432, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955918], length 228
22:20:31.342147 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17046432:17046660, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955918], length 228
22:20:31.342227 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17046660:17046888, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955918], length 228
22:20:31.342394 IP 192.168.188.1.51350 > 192.168.188.130.22: Flags [.], ack 17046660, win 2047, options [nop,nop,TS val 1303955919 ecr 4518487], length 0
22:20:31.342421 IP 192.168.188.130.22 > 192.168.188.1.51350: Flags [P.], seq 17046888:17047116, ack 2653, win 292, options [nop,nop,TS val 4518487 ecr 1303955919], length 228

3.可以指定端口:

[[email protected] ~]# tcpdump -nn -i ens33 port 22

4.指定主机

[[email protected] ~]# tcpdump -nn -i ens33 port 22 and host 192.168.188.1

5.将抓到的包写入一个文件:

[[email protected] ~]# tcpdump -nn -i ens33 -c 100 -w /tmp/1.cap
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes

6.查看抓到的包: -r

[[email protected] ~]# file /tmp/1.cap
/tmp/1.cap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 262144)
[[email protected] ~]# tcpdump -r /tmp/1.cap 
reading from file /tmp/1.cap, link-type EN10MB (Ethernet)
22:30:24.498994 IP weix01.ssh > 192.168.188.1.51350: Flags [P.], seq 866074493:866074641, ack 2979720174, win 292, options [nop,nop,TS val 5111643 ecr 1304549072], length 148
22:30:24.499166 IP 192.168.188.1.51350 > weix01.ssh: Flags [.], ack 148, win 2080, options [nop,nop,TS val 1304549080 ecr 5111636], length 0
22:30:25.171411 ARP, Request who-has gateway tell 192.168.188.1, length 46
22:30:26.226708 ARP, Request who-has gateway tell 192.168.188.1, length 46
22:30:27.171785 ARP, Request who-has gateway tell 192.168.188.1, length 46
22:30:28.171693 ARP, Request who-has gateway tell 192.168.188.1, length 46

7.安装wireshark包:

[[email protected] ~]# yum install -y wireshark
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 wireshark.x86_64.0.1.10.14-14.el7 将被 安装
--> 正在处理依赖关系 libgnutls.so.28(GNUTLS_1_4)(64bit),它被软件包 wireshark-1.10.14-14.el7.x86_64 需要

8.tshark命令:

[[email protected] ~]# 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"

以上是关于监控io性能,free,ps命令,查看网络状态以及抓包的主要内容,如果未能解决你的问题,请参考以下文章

监控io性能,free命令,ps网络命令,查看网络状态,Linux下抓包

监控io性能,free命令,ps命令,查看网络状态,linux下抓包

监控IO性能| free命令 |ps命令 |查看网络状态 |linux下抓包

监控io性能free命令ps命令查看网络状态linux下抓包

监控io性能free命令ps命令查看网络状态linux下抓包

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包