2018-1-23 7周2次课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-1-23 7周2次课相关的知识,希望对你有一定的参考价值。

监控io性能

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

[[email protected] ~]# iostat
Linux 3.10.0-693.el7.x86_64 (weix01) 2018年01月23日 _x8664 (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日 _x8664 (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命令

监控io性能,free,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 多线程进程

  • 前台进程

查看网络状态

监控io性能,free,ps命令,查看网络状态以及抓包
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下抓包

监控io性能,free,ps命令,查看网络状态以及抓包
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.m

以上是关于2018-1-23 7周2次课的主要内容,如果未能解决你的问题,请参考以下文章

2018-1-23 7周2次课 iostat,free,ps,netstat,tcpdump

2018.1.9 5周2次课

2018-3-7 11周2次课

2018.3.7 11周2次课

2018-1-9 5周2次课

2018.2.28 10周1次课