您的位置:首页 > 理论基础 > 计算机网络

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

2018-03-20 20:26 941 查看

iostat查看硬盘详细信息:

Linux系统出现了性能问题,一般我们可以通过top.iostat,vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据

[root@glinux-01 ~]# iostat
Linux 3.10.0-693.el7.x86_64 (glinux-01) 	2018年03月15日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
0.19    0.00    0.36    0.06    0.00   99.39

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.66        12.31        12.51     202336     205754
sdb               0.02         0.22         0.00       3580          0
dm-0              0.00         0.06         0.00       1036          0

iostat -x

[root@glinux-01 ~]# iostat -x
Linux 3.10.0-693.el7.x86_64 (glinux-01) 	2018年03月15日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
0.18    0.00    0.36    0.06    0.00   99.40

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    0.37    0.27    11.74    12.11    73.93     0.01   15.79
10.55   22.91   2.96   0.19
sdb               0.00     0.00    0.01    0.00     0.21     0.00    28.99     0.00    0.43

0.43    0.00   0.28   0.00
dm-0              0.00     0.00    0.00    0.00     0.06     0.00    48.19     0.00    0.28

0.28    0.00   0.23   0.00

参数含义(重要参数%util)

rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s:每秒读扇区数。即delta(rsect)/s
wsec/s:每秒写扇区数。即delta(wsect)/s
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节

wKB/s:每秒写K字节数。是wsec/s的一半
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的
。即delta(usr)/s/1000(因为use的单位为毫秒)

如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负载,该磁盘可能存在瓶颈。

当发现磁盘io很忙,想查看哪个进程频繁读写,可以用iotop

(如未安装,先yum install -y intop)

IO从大到小排列



free 查看内存使用情况

单位kb(free为0了,就是内存有问题了)

[root@glinux-01 ~]# free
total        used        free      shared  buff/cache   available
Mem:         750104      126872      478088        5268      145144      474424
Swap:       2097148           0     2097148


total 总共内存

used 已使用

free 剩余

buff 缓冲cache 快取 (系统预留一部分内存给buff/cache)

available 剩余的+buff/cache没用完的

数据(磁盘)---内存(cache)----cpu 读数据read cache

cpu(处理过的数据)---内存(buffer)----磁盘 写数据 write buff

free -m 以M为单位显示内存

[root@glinux-01 ~]# free -m
total        used        free      shared  buff/cache   available
Mem:            732         123         466           5         141         463
Swap:          2047           0        2047


ps命令(查看系统进程使用状况)

ps aux 静态查看。 top是动态查看

[root@g_linux01 ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.6 128164  6824 ?        Ss   3月18   0:13 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root         2  0.0  0.0      0     0 ?        S    3月18   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    3月18   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   3月18   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    3月18   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    3月18   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        R    3月18   0:02 [rcu_sched]
root        10  0.0  0.0      0     0 ?        S    3月18   0:01 [watchdog/0]
root        12  0.0  0.0      0     0 ?        S    3月18   0:00 [kdevtmpfs


%cpu cpu使用百分比

%mem 内存使用百分比

vsz 虚拟内存使用百分比

rss 物理内存

stat 状态说明如下

D 不能中断的进程

R run状态的进程

S sleep状态的进程

T暂停的进程

Z僵尸进程

<高优先级进程

N低优先级进程

L内存中被锁了内存分页

s主进程

l多线程进程

+前台进程

通过pid可以杀死进程,也可查看进程目录 ls -l /proc/12/

用法相对较多的是查看某个进程使用状况



查看网络状态netstat



netstat -lnp查看监听端口

查看链接状况,ESTABLISHED正在连接的进程



linux 抓包

使用tcpdump命令。如未安装先yum install -y tcpdump



tcpdump -nn -i ens33(-i 指定网卡的名字)

-nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。

19:56:22.470376 IP 192.168.244.128.22 > 192.168.244.1.50832:
Flags [P.], seq 4910988:4911280, ack 729, win 296, length 292
系统时间 来源主机.端口 > 目标主机.端口 数据包参数

指定抓包的端口号

[root@glinux-01 ~]# tcpdump -nn  -i ens33 port 22

-c 指定抓取包的数量 -w将输出写入文件中

tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap

查看1.cap文件
[root@glinux-01 ~]# tcpdump -r /tmp/1.cap

yum install -y wireshark

tshark 命令 查看网卡 什么ip访问的什么网站链接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐