zoukankan      html  css  js  c++  java
  • [svc]linux性能监控

    参考

    w - Show who is logged on and what they are doing.

    [root@n1 ~]# w #  w - Show who is logged on and what they are doing.
     10:15:20 up 56 min,  3 users,  load average: 0.02, 0.02, 0.05
     时间 系统运行时间, 登录用户数,平均负载(单位时间段内CPU活动进程数),不要超过cpu核数为佳
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.14.1     17:18     ?     0.10s  0.00s w
    root     pts/1    192.168.14.1     17:18     ?     2.49s  2.45s top
    root     pts/2    192.168.14.1     09:19   56:17   0.03s  0.03s -bash
    

    w输出说明

    10:15:20 up 56 min, 3 users, load average: 0.02, 0.02, 0.05
    当前时间 系统运行时间 3个用于登录 1min 5min 15min,单位时间内cpu活动的进程数,不要超过cpu核数

    参考

    说明
    USER 登录的用户。
    tty 用户使用的 tty 名称。
    LOGIN@ 用户登录的日期和时间。
    IDLE 自程序上次试图读取终端开始持续的分钟数。
    JCPU 该终端上的所有进程及其子进程使用的系统部件时间。
    PCPU 当前活动进程所使用的系统部件时间。
    What 当前进程的名称和参数。

    查看几个物理cpu,每个物理cpu几核心, 总共有多少个逻辑cpu

    grep -c 'physical id' /proc/cpuinfo|uniq   #查看物理cpu个数
    cat /proc/cpuinfo| grep "cpu cores"| uniq  #查看一个物理cpu有多少核
    grep -c 'processor' /proc/cpuinfo          #查看逻辑cpu个数 
    

    Linux查看物理CPU个数、核数、逻辑CPU个数

    [root@n1 ~]# grep "physical id" /proc/cpuinfo 
    physical id	: 0
    physical id	: 0
    physical id	: 0
    physical id	: 0
    
    [root@n1 ~]# grep "physical id" /proc/cpuinfo |sort|wc -l
    4
    [root@n1 ~]# grep "physical id" /proc/cpuinfo | uniq
    physical id	: 0
    

    top - display Linux processes 输出解释

    top - 09:29:44 up 11 min,  3 users,  load average: 0.01, 0.04, 0.05
        当前时间    启动了多久 3人登录   cpu在1 5 15min内的负载
    
    
    Tasks: 111 total,   1 running, 110 sleeping,   0 stopped,   0 zombie
          共有111进程   运行       睡眠            停止          僵尸
    
    %Cpu0  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu2  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
           user       system    nice             cpu等iowait 硬件中断 软中断 被hypervisor偷去的CPU时间
     用户进程cpu时间 系统进程  调整优先级用户进程的CPU
     
    
    
    
    KiB Mem :   999720 total,   675644 free,   117632 used,   206444 buff/cache
    物理内存使用:全部可用内存、 空闲内存、     已使用内存、   缓冲内存
    
    KiB Swap:  2097148 total,  2097148 free,        0 used.   691016 avail Mem 
    虚拟内存使用: 全部、       空闲                 已使用、  缓冲交换空间
    
       PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                
       864 root      20   0  529844  29112  15324 S   0.3  2.9   0:03.15 dockerd                                                                                                                
       961 root      20   0  383364  22996  12164 S   0.7  2.3   0:02.10 docker-containe                                                                                                        
       865 root      20   0  562388  16608   5908 S   0.0  1.7   0:00.29 tuned                                                                                                                  
       661 polkitd   20   0  534132  12020   4616 S   0.0  1.2   0:00.13 polkitd 
                                            共享内存 占cpu占内存 (0.01s)占用cpu时间 
    进程ID 用户    调度优先级 虚拟内存 驻存内存  进程状态
                       进程的nice值(小优)
    

    系统负载

    top - 09:47:04 up 28 min,  3 users,  load average: 0.01, 0.02, 0.05
    
    top - 09:47:04 up 28 min, 3 users, load average: 0.01, 0.02, 0.05
    - 当前时间 系统已运行的时间 当前登录用户的数量 相应最近5、10和15分钟内的平均负载。

    进程状态

    Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie
    
    Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
    总共有112个进程 运行 睡眠 停止 僵尸

    CPU时间分配

    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    
    字段 说明
    us user: 运行(未调整优先级的) 用户进程的CPU时间
    sy system: 运行内核进程的CPU时间
    ni niced:运行已调整优先级的用户进程的CPU时间
    wa IO wait: 用于等待IO完成的CPU时间
    hi 处理硬件中断的CPU时间
    si 处理软件中断的CPU时间
    st 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

    物理内存和交换内存

    KiB Mem :   999720 total,   674312 free,   118572 used,   206836 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.   689724 avail Mem 
    
    KiB Mem : 999720 total, 674312 free, 118572 used, 206836 buff/cache
    物理内存显示如下: 全部可用内存、 空闲内存、 已使用内存、 缓冲内存
    KiB Swap: 2097148 total, 2097148 free, 0 used. 689724 avail Mem
    交换内存显示如下: 全部可用内存、 空闲内存、 已使用内存、 缓冲内存

    进程详情

    选项 说明
    PID 进程ID,进程的唯一标识符
    USER 进程所有者的实际用户名。
    PR 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
    NI 进程的nice值(优先级)。越小的值意味着越高的优先级。
    VIRT 进程使用的虚拟内存。
    RES 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
    SHR SHR是进程使用的共享内存。
    S 这个是进程的状态。它有以下不同的值: D – 不可中断的睡眠态。R – 运行态. S – 睡眠态. T – 被跟踪或已停止. Z – 僵尸态
    %CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。
    %MEM 进程使用的可用物理内存百分比。
    TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
    COMMAND 运行进程所使用的命令。

    vmstat - Report virtual memory statistics

    参考

    vmstat 1 5 #每1秒显示一次 显示5次
    
    [root@n1 ~]# vmstat 
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     1  0      0 462452   2108 413460    0    0     4     2   31   36  0  0 100  0  0
    
    r列,b列,和wa列,三列代表的含义在下面对应列边说得已经很清楚
    IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高
    当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
    

    procs 显示进程相关信息

    r :run表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
    b :block 表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了;

    memory 内存相关信息

    说明
    swpd 表示切换到交换分区中的内存数量 ;
    free 当前空闲的内存数量;
    buff 缓冲大小, (即将写入磁盘的);
    cache 缓存大小,(从磁盘中读取的);

    swap 内存交换情况

    si: swap in由交换区写入到内存的数据量;
    so: swap out由内存写入到交换区的数据量;

    io 磁盘使用情况

    bi: 从块设备读取数据的量(读磁盘);
    bo: 从块设备写入数据的量(写磁盘)

    system 显示采集间隔内发生的中断次数

    in: 表示在某一时间间隔中观测到的每秒设备中断数;
    cs: 表示每秒产生的上下文切换次数;

    CPU 显示cpu的使用状态

    说明
    us 显示了用户下所花费 cpu 时间的百分比;
    sy 显示系统花费cpu时间百分比;
    id 表示cpu处于空闲状态的时间百分比;
    wa 表示I/O等待所占用cpu时间百分比;
    st 表示被偷走的cpu所占百分比(一般都为0,不用关注)
    r列,b列,和wa列,三列代表的含义在上边说得已经很清楚
    IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高
    当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
    
  • 相关阅读:
    8小时外你做什么?下班后的生活决定你的竞争力
    8个月,一位年轻总裁的坠落:值得所有职业经理人深思
    陈紫熹(帮别人名字作诗)
    年轻人创业尤其要注意的五个基本法则
    解密联想20年的45条法则
    小本创业】30条生意妙经及七大关键感悟
    新时代白领必备的两大“新”能力,你有吗?
    秘笈:送给创业者的19条忠告
    C#计算两个日期之间的差
    tnsnames.ora是什么东东?
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8554011.html
Copyright © 2011-2022 走看看