zoukankan      html  css  js  c++  java
  • 【人在运维囧途_02】20个Linux系统内置监视工具: vmstat 和 netstat

           此文是人在囧途之运维的第二篇、第一篇请参见:【人在运维囧途_01】20个Linux系统内置监视工具:top

           闲言少叙、看招哈O(∩_∩)O~

     

           ⑵ vmstat 
              
              写在前面的话、这里 Rocky 唠嗑一点、私下认为、vmstat 最佳实践也该是:
              "到底哪个部分的资源被使用的最为频繁"
              
              先瞧瞧 vmstat 的输出

    [root@Rocky ~]# vmstat 5 3
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
     r  b   swpd   free   buff  cache    si   so    bi    bo   in   cs us sy id wa st
     0  0      0 1249892  29292 410624    0    0   143    25  101  206  2  2 94  2  0
     1  0      0 1249628  29316 410624    0    0     0    60   95  210  2  3 94  1  0
     1  0      0 1249644  29316 410624    0    0     0     0   93  189  0  0 100 0  0


              ① 项目【procs】显示与进程相关

                 r:等待运行的进程数量
                 b:被阻塞的进程数量

                 这 2 两列越多、代表系统越忙碌

                 
              ② 项目【memory】显示与内存相关
                 swpd:已使用的 swap 的容量(KB)
                 free:可用的物理内存(KB)
                 buff:被文件元数据使用的容量(KB)
                 cache:被文件数据本身使用的容量(KB)
                 
              ③ 项目【swap】显示与 swap 相关
                 si:数据从 SWAP 读取到 RAM(swap in)的大小(KB/秒)
                 so:数据从 RAM 写到 SWAP(swap out)的大小(KB/秒)
                 如果 si/so 比值太大、表示内存中的数据经常在磁盘和物理内存之间倒腾、系统性能很差
                 
              ④ 项目【io】显示与 磁盘读写相关
                 bi:向磁盘发送数据的速率(块/秒)
                 bo:从磁盘读取数据的速率(块/秒)
                 如果这部分的值越高、代表系统的 I/O 非常忙碌
                 
              ⑤ 项目【system】显示与系统活动相关
                 in:每秒被中断的进程数量
                 cs:在进程空间中进行上下文却换的速率
                 这两个数值越大、代表系统与周围设备(网卡、磁盘、时间钟等)通讯非常频繁
                 
              ⑥ 项目【cpu】显示与 CPU 负载相关
                 us:消费在用户进程的 CPU 百分比、 Oracle 进程属于这一类
                 sy:消费在系统进程的 CPU 百分比
                 id:可用 CPU 百分比
                 wa:消费在"等待 I/O"上的百分比
                 st:消费在虚拟机上的 CPU 百分比
                 
              
              下面列举一些常见用法
              
              Ⅰ 每秒一次、共计三次:vmstat 1 3


              
                 
           
    ⑶ netstat  
              
              偶照样外甥打灯笼、先表明一下自个态度、netstat 的最佳实践应该是
              "查看网络的连接状态"
              
              先看一下netstat的输出:

    [root@localhost ~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3890/./hpiod        
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      4055/mysqld         
    tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3604/portmap        
    tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      4379/dnsmasq        
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3908/sshd           
    tcp        0      0 0.0.0.0:854                 0.0.0.0:*                   LISTEN      3640/rpc.statd      
    tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3021/cupsd          
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4099/sendmail       
    tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      3895/python         
    tcp        0      0 :::5989                     :::*                        LISTEN      4382/cimservermain  
    tcp        0      0 :::22                       :::*                        LISTEN      3908/sshd     


              ① Local Address:本地的 IP:PORT 情况
              ② Foreign Address:远程的 IP:PORT 情况
              ③ State:连接状态、主要有 【ESTABLISED】【LISTEN】
              
              举个例子:
              
              找出目前系统上已在监听的网络连接及其PID

    [root@localhost ~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3890/./hpiod        
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      4055/mysqld         
    tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3604/portmap        
    tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      4379/dnsmasq        
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3908/sshd           
    tcp        0      0 0.0.0.0:854                 0.0.0.0:*                   LISTEN      3640/rpc.statd      
    tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3021/cupsd          
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4099/sendmail       
    tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      3895/python         
    tcp        0      0 :::5989                     :::*                        LISTEN      4382/cimservermain  
    tcp        0      0 :::22                       :::*                        LISTEN      3908/sshd  


              将上述的本地 192.168.122.1:53 那个网络服务关闭

    [root@localhost ~]# kill -9 4379
    [root@localhost ~]# killall -9 dnsmasq


  • 相关阅读:
    DFS(White-Gray-Black)
    Recursive Depth first search graph(adj matrix)
    TED_Topic1:Why we need to rethink capitalism
    Eng1—English daily notes
    R2—《R in Nutshell》 读书笔记(连载)
    R1(上)—R关联规则分析之Arules包详解
    R1(下)—数据挖掘—关联规则理论介绍与R实现
    R0—New packages for reading data into R — fast
    Tools0—Word2013发布博客到博客园的详细方法介绍
    day6 类
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2989563.html
Copyright © 2011-2022 走看看