linux下怎么监控网络 io swap,监控io性能,free命令,ps命令,查看网络状态,linux下抓包(示例代码)...

监控io性能

[[email protected] ~]# iostat

Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2017年09月12日 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.11 0.00 0.23 0.01 0.00 99.66

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 1.61 19.24 1.76 124103 11353

sdb 0.07 0.53 0.00 3407 4

scd0 0.00 0.01 0.00 44 0

dm-0 0.01 0.07 0.00 456 0

[[email protected] ~]#

iostat -x

[[email protected] ~]# iostat -x

Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2017年09月12日 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.10 0.00 0.23 0.01 0.00 99.66

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.02 1.11 0.42 18.29 1.68 26.04 0.00 0.37 0.34 0.44 0.27 0.04

sdb 0.00 0.00 0.07 0.00 0.50 0.00 14.30 0.00 0.09 0.09 1.00 0.08 0.00

scd0 0.00 0.00 0.00 0.00 0.01 0.00 8.00 0.00 0.45 0.45 0.00 0.45 0.00

dm-0 0.00 0.00 0.01 0.00 0.07 0.00 15.20 0.00 0.08 0.08 0.00 0.07 0.00

[[email protected] ~]#

着重看%util列,如果数值很大,说明读写很忙。如果读写不大,说明硬盘有问题。

iotop 来查看占用IO高的进程

没有安装过:yum install -y 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

2434 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.03 % [kworker/0:2]

1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --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]

6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u256:0]

7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]

8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]

9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]

10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]

12 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]

13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs]

14 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]

15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]

16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback]

17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd]

18 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset]

19 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kblockd]

20 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [md]

533 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % vmtoolsd

534 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd-logind

26 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kswapd0]

27 be/5 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksmd]

28 be/7 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khugepaged]

29 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [fsnotify_mark]

30 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]

545 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % agetty --noclear tty1 linux

548 be/4 polkitd 0.00 B/s 0.00 B/s 0.00 % 0.00 % polkitd --no-debug [gmain]

38 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthrotld]

39 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u256:1]

40 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kmpath_rdacd]

41 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kpsmoused]

free命令

直接查看内存使用的命令

[[email protected] ~]# free

total used free shared buff/cache available

Mem: 999936 121540 581256 6844 297140 693540

Swap: 2097148 0 2097148

[[email protected] ~]#

[[email protected] ~]# free -h

total used free shared buff/cache available

Mem: 976M 118M 567M 6.7M 290M 677M

Swap: 2.0G 0B 2.0G

[[email protected] ~]#

buff/cache缓冲/缓存,缓存,是cpu向硬盘读取数据的时候,缓存(cache)在内存里。缓冲是:cpu处理完的数据写入磁盘,缓冲(buff)在内存里面。

公式:total=used + free + buff/cache

avaliable包含free和buffer/cache剩余部分。

ps命令

ps aux

静态显示所有的进程

ps aux |grep nginx

查看某一个进程

[[email protected] ~]# ps aux |grep nginx

root 2757 0.0 0.0 112664 968 pts/0 R+ 20:57 0:00 grep --color=auto nginx

[[email protected] ~]#

PID :进程ID,用于杀掉一个进程,kill 2757

查看一个进程:ls -l /proc/505/

ps aux 后关注STAT列

D不能中断的进程

R run状态的进程

S sleep状态的进程

T 暂停的进程

Z 僵尸进程

< 高优先级进程

N 低优先级进程

L 内存中被锁了内存分页

s 主进程

l 多线程进程

+ 前台进程

ps -elf

和ps aux 差不多。

netstat 查看网络状态

netstat -lnp 查看监听端口

[[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 887/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1494/master

tcp6 0 0 :::22 :::* LISTEN 887/sshd

tcp6 0 0 ::1:25 :::* LISTEN 1494/master

udp 0 0 127.0.0.1:323 0.0.0.0:* 542/chronyd

udp6 0 0 ::1:323 :::* 542/chronyd

raw6 0 0 :::58 :::* 7 581/NetworkManager

Active UNIX domain sockets (only servers)

Proto RefCnt Flags Type State I-Node PID/Program name Path

unix 2 [ ACC ] STREAM LISTENING 12552 1/systemd /run/systemd/private

unix 2 [ ACC ] STREAM LISTENING 12561 1/systemd /run/lvm/lvmpolld.socket

unix 2 [ ACC ] STREAM LISTENING 19948 1494/master private/bounce

unix 2 [ ACC ] STREAM LISTENING 19951 1494/master private/defer

netstat -an

netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}‘

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

LISTEN 4

ESTABLISHED 1

主要看ESTABLISHED,这个数字大,说明系统忙。网站并发连接数,就是同一时刻有多少个客户端连着。

linux 下抓包

抓包工具tcpdump

没有这个命令需要安装一下:yum install -y tcpdump

指定网卡名字 tcpdump -nn -i ens33

运行完上面命令后会出现密密麻麻的一堆字符串,在按Ctrl+c 之前,这些字符串一直在刷屏,刷屏越快说明网卡上的数据包越多。我们只需要关注第3列和第4列,它们显示的信息为哪一个ip+端口号在连接哪一个ip+端口号。

-nn选项的作用是让第3列和第4列显示成"ip+端口号"的形式,如果不加-nn选项则显示“主机名+服务名称” -i 选项后面跟设备名称。

tcpdump -nn -i ens33 port 22 指定只抓22端口的包

tcpdump -nn -i ens33 tcp and not port 22 指定抓tcp的包,但是不要22端口的

tcpdump -nn -i ens33 port 22 and port 53 只抓22和53 端口的包。

tcpdump -nn -i ens33 -c 100 只抓100条

tcpdump -nn -i ens33 -c 100 -w /tmp/1.cap 抓100条然后保存到/tmp/1.cap

tcpdump -r /tmp/1.cap 查看这个抓取的数据包。

抓包工具 wireshark

yum install -y wireshark

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"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值