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

一、监控io性能

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

iostat -x磁盘使用

iotop磁盘使用

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

 

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

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

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

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

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

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

STAT进程状态

D 不能中断的进程

R run状态的进程

S sleep状态的进程

 

T暂停的进程

Z僵尸进程

<高优先级进程

N低优先级进程

L内存中被锁了内存分页

s主进程

 

|多线进程

+前台进程

杀死进程kill 1170

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

 

 四、查看网络状态

 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查看监听端口

查看tcp网络连接状态

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

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

tcp ip三次握手四次挥手

 

 五、linux下抓包

抓包工具tcpdump  

用法:tcpdump -nn 参数

tcpdump -nn -i ens33

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

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

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

 

tshark

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"

 

转载于:https://www.cnblogs.com/davery/p/8783426.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 CentOS 7 中可以使用以下命令查看以 .sh 结尾的进程信息: ``` ps aux | grep -E '.*\.sh$' ``` 这个命令会列出所有运行中的进程,并使用 grep 过滤出以 .sh 结尾的进程。 ### 回答2: 要查看 CentOS 7 中所有以 .sh 结尾的进程信息,可以使用以下命令: 1. 首先,使用 `ps -ef` 命令查看所有进程的信息。 2. 使用 `grep` 命令过滤只显示以 .sh 结尾的进程信息,命令为 `grep '\.sh$'`。 3. 最后,使用 `awk` 命令对信息进行格式化输出,命令为 `awk '{print $2, $8}'`。 综合以上步骤,可以使用以下命令进行查询: ``` ps -ef | grep '\.sh$' | awk '{print $2, $8}' ``` 这个命令会显示所有以 .sh 结尾的进程进程ID和进程名。 注意,非 .sh 结尾的进程信息会被 `grep` 过滤掉,只显示符合条件的进程信息。 ### 回答3: 在CentOS 7上,我们可以使用命令查看所有以 .sh 结尾的进程信息,并禁止显示非 .sh 结尾的信息。 1. 首先,我们可以使用以下命令来列出系统上所有正在运行的进程的详细信息: ``` ps -ef ``` 2. 然后,我们可以使用管道符号 `|` 将结果传递给 `grep` 命令,以过滤出以 .sh 结尾的进程信息: ``` ps -ef | grep -i '.sh$' ``` 在这个命令中,`grep` 命令用于搜索包含 .sh 结尾的进程信息。选项 `-i` 是用来忽略大小写的。 以上命令将返回所有以 .sh 结尾的进程的详细信息。如果没有任何结果返回,则表示系统中当前没有以 .sh 结尾的进程正在运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值