• 性能监控


    1)监控cup 的使用情况

    uptime

    
    
    [root@localhost index]# uptime
    16:22:36 up 70 days,  1:15,  1 user,  load average: 0.07, 0.06, 0.05
    当前系统时间
    系统运行时间
    当前有一个用户登录
    CPU显示最近1分钟,5分钟,15分钟的负载情况
    这里的负载表示单位时间段内cup等待队列中平均有多少个进程在等待,等待的进程数越多,说明cup越忙。

    2)监控内存和交换分区使用的情况

    free

    free
    -b|-k|-m 指定输出容量的单位,分别是Byte,KB ,MB
    [root@localhost index]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           7781        1337         224         150        6219        5927
    Swap:         16063         935       15128
    Mem代表内存容量的使用情况
    Swap是交换分区的使用情况

    3)监控磁盘的使用情况

    df -hT

    [root@localhost index]# df -hT
    Filesystem          Type      Size  Used Avail Use% Mounted on
    /dev/mapper/cl-root xfs        50G  5.2G   45G  11% /
    devtmpfs            devtmpfs  3.8G     0  3.8G   0% /dev
    tmpfs               tmpfs     3.8G     0  3.8G   0% /dev/shm
    tmpfs               tmpfs     3.8G  393M  3.5G  11% /run
    tmpfs               tmpfs     3.8G     0  3.8G   0% /sys/fs/cgroup
    /dev/sda1           xfs      1014M  139M  876M  14% /boot
    /dev/mapper/cl-home xfs       157G  2.0G  155G   2% /home
    tmpfs               tmpfs     779M     0  779M   0% /run/user/0
    信息:根分区的类型是xfs,总容量50G,用了5.2G,剩余45G,使用率11%,挂载点/

    df -i

    [root@localhost index]# df -i
    Filesystem            Inodes IUsed    IFree IUse% Mounted on
    /dev/mapper/cl-root 26214400 81253 26133147    1% /
    devtmpfs              993302   381   992921    1% /dev
    tmpfs                 996041     1   996040    1% /dev/shm
    tmpfs                 996041   483   995558    1% /run
    tmpfs                 996041    16   996025    1% /sys/fs/cgroup
    /dev/sda1             524288   330   523958    1% /boot
    /dev/mapper/cl-home 82247680 12891 82234789    1% /home
    tmpfs                 996041     1   996040    1% /run/user/0
    根分区inode总个数是26214400,使用了81253,剩余26133147,使用率1%
    这里的inode个数决定了该分区可以创建的文件个数,有多少inode节点,可以在该分区创建多少个文件。
    在上面的显示案例中,如果在跟分区创建了26214400节点,即使还有45G的磁盘空间,也无法创建文件,因为inode节点已经耗尽。
    

    4)监控网络使用情况

    ip a s
    ip -s link show eno167773    查看网卡流量信息

    5)监控进程使用情况

    ps -ef

    ps aux

    ps -ef 与ps aux大同小异,显示的信息基本上是一样的。
    ps -ef UID PID PPID C STIME TTY TIME CMD ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
    ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程
    正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等
    总之大部分信息都是可以通过执行该命令得到的 UID或者USER:进程的执行用户 pid:进程的唯一编号 ppid:父进程ID编号
    %CPU:代表进程CPU的占有率 %MEM:代表进程内存占有率 vsz:代表进程所使用的虚拟内存大小(kb) rss:进程所使用的真实内存大小(kb) tty:终端 stime或start:进程启动时间 stat:进程状态(D:不可中断的进程,R:正在运行的进程,S:正在睡眠的进程,T:停止或者被追踪的进程,X:死掉的进程,Z:僵死进程) time:进程占有CPU的总时间 CMD或者command代表进程命令

    6)netstat

    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息

    比较常用的有两个:
    netstat -antpu
    显示所有连线中的Socket,
    直接使用ip地址,而不通过域名服务器
    最常用的关于netstat的命令就是这个
    netstat -lnp (打印当前系统启动哪些端口)以及netstat -an (打印网络连接状况)
    列出所有端口情况
    [root@xiesshavip002 ~]# netstat -a      # 列出所有端口
    [root@xiesshavip002 ~]# netstat -at     # 列出所有TCP端口
    [root@xiesshavip002 ~]# netstat -au     # 列出所有UDP端口
    
    列出所有处于监听状态的 Sockets
    [root@xiesshavip002 ~]# netstat -l   # 只显示监听端口
    [root@xiesshavip002 ~]# netstat -lt  # 显示监听TCP端口
    [root@xiesshavip002 ~]# netstat -lu  # 显示监听UDP端口
    [root@xiesshavip002 ~]# netstat -lx  # 显示监听UNIX端口
    
    显示每个协议的统计信息
    [root@xiesshavip002 ~]# netstat -s     # 显示所有端口的统计信息
    [root@xiesshavip002 ~]# netstat -st    # 显示所有TCP的统计信息
    [root@xiesshavip002 ~]# netstat -su    # 显示所有UDP的统计信息
    
    显示 PID 和进程名称
    [root@xiesshavip002 ~]# netstat -p
    
    显示核心路由信息
    [root@xiesshavip002 ~]# netstat -r
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    default         gateway         0.0.0.0         UG        0 0          0 eth0
    192.168.130.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
    [root@xiesshavip002 ~]# netstat -rn   # 显示数字格式,不查询主机名称
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         192.168.130.1   0.0.0.0         UG        0 0          0 eth0
    192.168.130.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
    
    查看端口和服务
    [root@xiesshavip002 ~]# netstat -antp | grep ssh
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      734/sshd            
    tcp        0     52 192.168.130.20:22       119.129.118.189:58737   ESTABLISHED 1846/sshd: root@pts 
    tcp6       0      0 :::22                   :::*                    LISTEN      734/sshd            
    [root@xiesshavip002 ~]# netstat -antp | grep 22
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      734/sshd            
    tcp        0     52 192.168.130.20:22       119.129.118.189:58737   ESTABLISHED 1846/sshd: root@pts 
    tcp6       0      0 :::22                   :::*                    LISTEN      734/sshd 
    
    netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"	",sta[key]}'  //查看tcp各网络连接状态的数量

    7)tcpdump抓包工具

    某个网卡上都有哪些数据包,尤其是当你初步判定你的服务器上有流量***。这时,使用抓包工具来抓一下数据包,就可以知道有哪些IP在*** tcpdump -nn -c 10 -i ens33           
    //抓取10次包指定ens33网卡,并显示ip和端口,不显示主机名和服务名称
    第三列和第四列显示的信息为哪一个IP+port在连接哪一个IP+port,后面的信息是该数据包的相关信息
    -nn参数是为了直接显示ip+端口号,需要关注的只是第三列以及第四列
    -i 选项后面跟设备名称,如果你想抓ens33网卡的包,后面则要跟eens33
    -nn选项的作用是让第三列和第四列显示成IP+端口号的形式
    不加-nn则显示的是主机名+服务名称
    -c选项,指定抓包数量
    一些常用的tcpdump实例
    # tcpdump -nn -i ens33 port 22         //只抓22端口的包 # tcpdump host 192.168.x.x                 //抓取指定ip的包 # tcpdump -nn -i ens33 tcp and not port 22     //指定抓tcp的包,但是不要22端口的 # tcpdump -nn -i ens33 port 22 and port 53     //只抓22和53端口的包 # tcpdump -nn -i ens33 -c 10 -i ens33 -w /tmp/tset.cap //保存10次抓包到/tmp/test.cap # tcpdump -r /tmp/test.cap                 //读取抓包文件
  • 相关阅读:
    C/C++笔试题
    #include "" 和 #include <> 的区别
    cc、gcc、g++、CC的区别概括
    在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
    vi复制粘贴
    cleartool常用命令
    [转]Tomcat日志详解
    Profile
    Bean的初始化和销毁
    SpringEL和资源调用
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8998819.html
Copyright © 2020-2023  润新知