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

监控io性能

使用iostat命令查看磁盘负载情况

iostat -x

重点关注:%util占比,如果这个值越大则表示你的硬盘越忙,这也会是你系统变慢的原因;

查看具体哪个进程在读写,使用iotop,首次使用需要Yum安装

yum install -y iotop

安装完成之后一般就可以使用,此处本人使用的是centos7.5版本运行iotop出现了一个错误,提示文件有问题:

经过查询及群里小伙伴的分享,才找到原因:

新版本linux系统的status信息不一定都是:\t来分割信息的了。iotop还没更新过来,所以分割会出现有些信息分割出来只有一个key,没有value.目前iotop还没更新过来,所以临时解决办法就是跳过这些分割出来只有一列的信息。

解决办法:

编辑图示标红文件,找到196行,添加如下代码:

if not line.strip() : continue

python中格式空格比较重要,注意缩进问题,添加如下图所示,然后:wq保存退出使用即可

使用 iotop 命令继续查看具体进程:

iotop

free命令

查看当前系统的总内存大小以及使用内存的情况。Centos7比Centos6更加简洁了一些,但大体内容一致。

使用 free 命令

[root@yolks1 ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1865276      151884     1492120        8924      221272     1535144
Swap:       2097148           0     2097148

展示的几列代表的意思分别是:

  • total : 内存总大小
  • used:真正使用的实际内存大小
  • free:剩余物理内存大小(没有被分配,纯剩余)
  • shared:共享内存大小,不用关注它
  • buff/cache:buffer和cache都是一部分内存,内存的作用就是缓解CPU和IO的速度差距的
  • available:系统可以使用内存有多大

** cache内存 : 磁盘(慢)--->> 内存(cache) --->> cpu(快) **

** buffer内存 :cpu(快)--->> 内存(buffer) --->> 磁盘(慢) **

** available = free + 欲分配buff/cache **

** total = used + available**

free还有-m的用法(表示以M为单位)或者使用-h(以合适的大小显示内存)

[root@yolks1 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1821         148        1457           8         216        1499
Swap:          2047           0        2047
[root@yolks1 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        148M        1.4G        8.7M        216M        1.5G
Swap:          2.0G          0B        2.0G

重点关注点 : ** available **

ps命令

查看系统进程

使用ps命令查看默认不带参数

[root@yolks1 ~]# ps
   PID TTY          TIME CMD
  1389 pts/0    00:00:00 bash
  2417 pts/0    00:00:00 ps

由于默认显示的内容有限,常用的选项有 -aux 或 -elf查看进程详细信息

筛选指定的任务进程 -aux | grep * 过滤

[root@yolks1 ~]# ps aux |grep sshd
root        959  0.0  0.2 110212  4096 ?        Ss   20:31   0:00 /usr/sbin/sshd -D
root       1387  0.0  0.2 154088  5232 ?        Ss   20:31   0:00 sshd: root@pts/0
root       2477  0.0  0.0 112676   980 pts/0    R+   21:53   0:00 grep --color=auto sshd

展示常用列含义:

  • USER : 用户
  • PID : 表示进程的id,这个id很有用。在linux中,内核管理进程就得靠pid来识别和管理某一个进程,比如这里想要终止一个进程,则用命令“kill 进程的id”,有的时候这样并不能关闭某些进程,需要加-9选项,但你这样有些强行(暴力),严重的话可能会丢失数据,所以尽量不用。
  • STAT : 表示进程的状态
    • D:不能中断的进程(通常为IO)
    • R:正在运行的进程,包含等待CPU时间片的进程
    • S:已经中断的进程。通常情况下,系统的大部分进程都是这个状态
    • T:已经停止或者暂停的进程。
    • Z:僵尸进程,即杀不掉,打不死的垃圾进程,占用系统一点资源,不过没有关系。如果占用太多,则需要重视
    • <:高优先级进程
    • N:底优先级进程
    • L:在内存中被锁了内存分页
    • s:主进程
    • l:多线程进程
    • +:在前台运行的进程,比如在当前终端执行的ps aux就是前台进程

查看网络状态

netstat : 用于打印网络连接状况、系统所开放端口、路由表等信息

选项:

  • lnp : 打印当前系统启动哪些端口
  • lntp : 打印当前系统Internet connections服务端口
  • lndp : 打印当前系统UNIX domain服务端口
  • an : 打印网络连接状况

使用an选项或lndp查看到有1列State状态,具体值参考tcp/ip协议的通信状态文章,如下链接

linux服务器上11中网络连接状态

TCP三次握手及四次挥手详细图解

分享拓展:统计目前系统各通信的计数命令(客户端和服务端在通信数量,1000 以内都是正常的)

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

上面命令使用语法参考文章:

linux awk数组操作详细介绍

AWK处理数组

linux抓包

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。

tcpdump

使用yum安装

yum install -y tcpdump

tcpdump工具常用来查看某个网卡上的数据流向即网络行为,尤其发现网络流量异常时,使用抓包工具进行抓取ip分析行为

常用参数 -nn (以ip地址显示) 这里由于使用的虚拟机所以需要指定网卡加了 -i(指定网卡名称) 参数,命令输完回车,屏幕会不断打印出字符,字符串不停刷新,这些内容就是传输数据的流向过程以及数据包,这里重点关注 第三列和第四列 如上图圈出所示,表示从哪个 ip+端口 连接到哪个 ip+端口Ctrl+C 退出程序。

选项

  • w : 保存抓取结果到指定的路径 (tcpdump -nn -i ens33 not port 22 -c 10 -w /tmp/tcpdump_test.cap)
  • c : 指定抓包数量

cap文件读取方式

tcpdump -r xxx.cap

常用结合:

tcpdump -nn -i ens33 port 22 //指定抓取22端口的包
tcpdump -nn -i ens33 not port 22 //指定抓取除了22端口以外的包
tcpdump -nn -i ens33 tcp and not port 22 //指定抓取tcp的包,但排除掉22端口的
tcpdump -nn -i ens33 port 22 and port 24 //指定抓取只有22和24端口的包

linux下更多抓包选项参考文章 :

Linux系统-tcpdump常用抓包命令

wireshark

yum安装

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"

常用用法:

使用tshark抓包分析http请求

转载于:https://my.oschina.net/yolks/blog/1844719

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值