美文网首页Go语言游戏服务器相关Golang语言社区
监控io性能、free、ps、查看网络状态和linux抓包工具

监控io性能、free、ps、查看网络状态和linux抓包工具

作者: Golang语言社区 | 来源:发表于2019-01-09 17:35 被阅读23次

    监控io性能、free、ps、查看网络状态和linux抓包工具


    一、监控io性能

    1、iostat -x 磁盘使用


    1

    关注最后一列的数值,数值大说明磁盘有异常

    2、iotop 磁盘使用
    安装:yum install -y iotop


    2

    二、free命令

    查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m或-h 或者-g选项分别以M或G为单位打印内存使用状况:

    常用: free -h


    3

    三、ps命令

    ps查看系统进程
    用法:ps aux 或 ps -elf


    4

    PID :进程的id,想终止某一个进程,则用 ‘kill 进程的pid 有时并不能杀掉,则需要加一个-9选项了 kill -9 进程pid

    STAT :表示进程的状态

    D:不能中断的进程(通常为IO)

    R: 正在运行中的进程

    S: 已经中断的进程,通常情况下,系统中大部分进程都是这个状态

    T: 已经暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态

    Z: 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。

    <: 高优先级进程

    N: 低优先级进程

    L: 在内存中被锁了内存分页

    s: 主进程

    l: 多线程进程

    +: 代表在前台运行的进程

    ps命令经常会连同管道符一起使用,用来查看某个进程或者它的数量


    5

    四、netstat 查看网络状况

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

    常用的关于netstat的命令就是这个 netstat -lnp (打印当前系统启动哪些端口)以及 netstat -an (打印网络连接状况)

    1、netstat -lnp 打印当前系统启动哪些端口


    6

    2、netstat -an 打印网络连接状况


    7

    如果你所管理的服务器是一台提供web服务(80端口)的服务器,那么你就可以使用 netstat -an |grep 80 查看当前连接web服务的有哪些IP了。


    8

    分享一个小技巧:可以查看所有状态的数字
    netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,”\t”,sta[key]}’


    9

    关注:ESTABLISHED, 网站并发连接数,表示同一时刻有多少个客户端连接到服务端进行通信(1000以内可以接受)

    五、linux抓包工具tcpdump

    有时候想看一下某个网卡上都有哪些数据包,尤其是当你初步判定你的服务器上有流量攻击。这时,使用抓包工具来抓一下数据包,就可以知道有哪些IP在攻击你了

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

    tcpdump -nn -i eno16777736


    10

    需要关注:
    第三列和第四列显示的信息为哪一个IP+port在连接哪一个IP+port。-i 选项后面跟设备名称,如果你想抓eth1网卡的包,后面则要跟eth1.至于-nn选项的作用是让第三列和第四列显示成IP+端口号的形式,如果不加-nn则显示的是主机名+服务名称。

    另外介绍一个实用的工具tshark和命令:

    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”

    指定网卡,80端口的web访问情况
    类似web的访问日志

    安装命令:yum install -y wireshark


          每天坚持学习1小时Go语言,大家加油,我是彬哥,下期见!如果文章中不同观点、意见请文章下留言或者关注下方订阅号反馈!


    社区交流群:221273219
    Golang语言社区论坛 :
    www.Golang.Ltd
    LollipopGo游戏服务器地址:
    https://github.com/Golangltd/LollipopGo
    社区视频课程课件GIT地址:
    https://github.com/Golangltd/codeclass


    Golang语言社区

    相关文章

      网友评论

        本文标题:监控io性能、free、ps、查看网络状态和linux抓包工具

        本文链接:https://www.haomeiwen.com/subject/bibgrqtx.html