Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

一、监控io性能

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

iostat -x磁盘使用

iotop磁盘使用

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

rrqm/s:   每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s:  每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s:           每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s:         每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s:    每秒读扇区数。即 delta(rsect)/s
wsec/s:  每秒写扇区数。即 delta(wsect)/s
rkB/s:      每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s:    每秒写K字节数。是 wsect/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(use)/s/1000 (因为use的单位为毫秒)

二、free命令查看内存使用情况,系统自动分配一部分给buff/cache缓存

free -m

free -g

free -h

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

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

磁盘数据-->内存(cache)-->cpu

cpu数据-->内存(buffer)-->磁盘

availiable包含free和buffer/cache剩余部分

 三、ps(process status)命令,查看系统当前进程,静态一次性列出,格式ps [参数]

ps aux  ps -elf查看系统当前所有进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

STAT进程状态

D 不能中断的进程

R run状态的进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

S sleep状态的进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

T暂停的进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

Z僵尸进程

<高优先级进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

N低优先级进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

L内存中被锁了内存分页

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

s主进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

|多线进程

+前台进程

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

杀死进程kill 1170

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

 查看进程路径,首先需要知道进程ID

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

四、查看网络状态

netstat查看系统状态

netstat -lnp查看监听端口

netstat -an查看系统的网络连接状态

netstat -lntp 只看出tcp,不包含socket

ss -an和netstat一样

技巧:

netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}'查看所有状态数字

netstat -lnp查看监听端口

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

查看tcp网络连接状态

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

nestat -lntp只看出tcp,不包含socket

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

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

tcp ip三次握手四次挥手

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

 五、linux下抓包

抓包工具tcpdump

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

用法:tcpdump -nn 参数

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

tcpdump -nn -i ens33

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

tcpdump -nn -i ens33 port 80指定80端口

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

tcpdump -nn -i ens33 not port 22 and host 140.206.78.11  不要22包,只要11ip包

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

tcpdump -nn -i ens33 -c 100 -w  /tmp/1.cap 指定数据包100个并存到tmp

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

tshark

yum install -y wireshark

Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

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"

上一篇:400 bad request


下一篇:JavaScript 经典实例收集整理