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两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
    
  • 相关阅读:
    hdu2328 Corporate Identity
    hdu1238 Substrings
    hdu4300 Clairewd’s message
    hdu3336 Count the string
    hdu2597 Simpsons’ Hidden Talents
    poj3080 Blue Jeans
    poj2752 Seek the Name, Seek the Fame
    poj2406 Power Strings
    hust1010 The Minimum Length
    hdu1358 Period
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8554011.html
Copyright © 2011-2022 走看看