• Linux系统调优相关工具


    一、系统调优概述

    1. 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优
    2. 分析是否有瓶颈(依据当前应用需求)
    3. 调优(把错误的调正确)

    性能优化就是找到系统处理中的瓶颈以及去除这些的过程。
    性能优化其实是对OS 各子系统达到一种平衡的定义,这些子系统包括:

    • CPU
    • Memory
    • IO
    • Network

    这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题。
    比如:

    • 大量的网页调入请求导致内存队列的拥塞;
    • 网卡的大吞吐量可能导致更多的 CPU 开销;
    • 大量的 CPU 开销又会尝试更多的内存使用请求;
    • 大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题;

    所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有;

    • 可能是别的子系统导致的。
    • 调优就像医生看病,因此需要你对服务器所有地方都了解清楚。

    当系统出了问题,运行卡,如何快速找出以下进程:

    1. 找出系统中使用CPU最多的进程?
    2. 找出系统中使用内存最多的进程?
    3. 找出系统中对磁盘读写最多的进程?
    4. 找出系统中使用网络最多的进程?

    二、查看CPU负载相关工具,找出系统中使用CPU最多的进程

    1、查看CPU负载相关工具

    实战1:找出系统中使用CPU最多的进程?
      uptime命令:

    [root@localhost ~]# uptime
     13:57:55 up  1:43,  1 user,  load average: 0.00, 0.01, 0.05

    其内容如下:

    13:57:55

    当前时间

    up  1:43

    系统运行时间 ,说明此服务器连续运行1小时43分钟了

    1 user

    当前登录用户数

    load average: 0.00, 0.01, 0.05

    系统负载,即任务队列的平均长度。 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。

    例1:找出前当系统中,CPU负载过高的服务器?

    服务器1: load average: 0.15, 0.08, 0.01    1核
    服务器2: load average: 4.15, 6.08, 6.01    1核 
    服务器3: load average: 10.15, 10.08, 10.01   4核 
    答案:服务器2

    如果服务器的CPU为1核心,则load average中的数字 >=3 负载过高,如果服务器的CPU为4核心,则load average中的数字 >=12 负载过高。

    经验:单核心,1分钟的系统平均负载不要超过3,就可以,这是个经验值。

    队列数为3时,如图:

     

    2.找出系统中使用CPU最多的进程?

    方法1:使用top命令 
    运行top , 找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示

     

    3.按照实际使用CPU,从大到小排序显示所有进程列表

    [root@localhost ~]# ps -aux --sort -pcpu | more   #按cpu降序排序
    查看 
    注:  -pcpu 可以显示出进程绝对的路径,方便找出木马程序运行的路径。
    查看 -pcpu 帮助: 
    [root@localhost ~]# man ps
    #然后搜索 pcpu ,找到下面内容
      pcpu    cpu   utilization    # cpu利用率

    查看CPU信息:

    [root@localhost ~]# cat /proc/cpuinfo
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 42
    model name      : Intel(R) Core(TM) i3-2348M CPU @ 2.30GHz
    stepping        : 7
    microcode       : 0x26
    cpu MHz         : 2292.178
    cache size      : 3072 KB
    physical id     : 0
    siblings        : 1
    core id         : 0
    cpu cores       : 1
    apicid          : 0
    initial apicid  : 0
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 13
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx hypervisor lahf_lm epb tsc_adjust dtherm arat pln pts
    bogomips        : 4585.23
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 42 bits physical, 48 bits virtual
    power management:

    扩展:ps 中 VIRT、RES和SHR的含意:
      VIRT:virtual memory usage 虚拟内存

    1. 进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等;
    2. 假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量。

      RES:resident memory usage 常驻内存

    1. 进程当前使用的内存大小,但不包括swap out;
    2. 包含其他进程的共享;
    3. 如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反;
    4. 关于库占用内存的情况,它只统计加载的库文件所占内存大小。

      SHR:shared memory 共享内存

      1. 除了自身进程的共享内存,也包括其他进程的共享内存;
      2. 虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;
      3. 计算某个进程所占的物理内存大小公式:RES – SHR;
      4. swap out后,它将会降下来。

    4. CPU专用的mpstat 

    1
    2
    3
    4
    5
    6
    7
    [root@xuegod70 ~]# rpm -qf `which mpstat`
    sysstat-10.1.5-13.el7.x86_64
    [root@xuegod70 ~]# mpstat
    Linux 3.10.0-693.el7.x86_64 (xuegod70.cn)   07/06/2018  _x86_64_    (4 CPU)
     
    11:44:54 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    11:44:54 AM  all    0.04    0.00    0.04    0.03    0.00    0.00    0.00    0.00    0.00   99.88
    • nice:低优先级进程使用CPU占比。nice值大于0。
    • sys:内核空间CPU使用占比。
    • iowait:CPU等待IO占比。
    • irq:CPU处理硬中断占比。
    • soft:CPU处理软中断占比。
    • idle:CPU空闲时间占比。
    • guest与steal与虚拟机有关,暂不涉及。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    [root@xuegod70 ~]# mpstat -P ALL       #查看所有CPU运行状态
    Linux 3.10.0-693.el7.x86_64 (xuegod70.cn)   07/06/2018  _x86_64_    (4 CPU)
     
    11:53:32 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    11:53:32 AM  all    0.04    0.00    0.04    0.03    0.00    0.00    0.00    0.00    0.00   99.88
    11:53:32 AM    0    0.06    0.00    0.03    0.03    0.00    0.00    0.00    0.00    0.00   99.88
    11:53:32 AM    1    0.05    0.00    0.03    0.02    0.00    0.00    0.00    0.00    0.00   99.90
    11:53:32 AM    2    0.03    0.00    0.07    0.05    0.00    0.00    0.00    0.00    0.00   99.85
    11:53:32 AM    3    0.03    0.00    0.05    0.03    0.00    0.00    0.00    0.00    0.00   99.88
    [root@xuegod70 ~]# mpstat -P ALL 5 2    #表示每5秒产生一个报告,总共产生2个
    Linux 3.10.0-693.el7.x86_64 (xuegod70.cn)   07/06/2018  _x86_64_    (4 CPU)
     
    11:53:37 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    11:53:42 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:42 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:42 AM    1    0.00    0.00    0.20    0.00    0.00    0.00    0.00    0.00    0.00   99.80
    11:53:42 AM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:42 AM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
     
    11:53:42 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    11:53:47 AM  all    0.00    0.00    0.05    0.00    0.00    0.00    0.00    0.00    0.00   99.95
    11:53:47 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:47 AM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:47 AM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    11:53:47 AM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
     
    Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    Average:     all    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00    0.00   99.97
    Average:       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    Average:       1    0.00    0.00    0.10    0.00    0.00    0.00    0.00    0.00    0.00   99.90
    Average:       2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    Average:       3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

     三、查看Memory运行状态相关工具,找出系统中使用内存最多的进程

     1、查看Memory运行状态相关工具

    在CentOS6及以前的版本中,free命令输出是这样的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [root@stu003 ~]# free
                 total       used           free       shared    buffers     cached
    Mem:       1785856    1749352      36504          0     137504     933196
    -/+ buffers/cache:     678652    1107204
    Swap:      2818040          0    2818040
     
    第一行:
    系统内存主要分为四部分:used(程序已使用内存),free(空闲内存),buffers(buffer cache),cached(Page cache)。
    系统总内存total = used + free;  buffers和cached被算在used里,因此第一行系统已使用内存used = buffers + cached + 第二行系统已使用内存used,
    由于buffers和cached在系统需要时可以被回收使用,因此系统可用内存 = free + buffers + cached;
    shared为程序共享的内存空间,往往为0。
    第二行:
      正因为buffers和cached在系统需要时可以被回收使用,因此buffer和cached其实可以可以算作可用内存,因此:
      系统可用内存,即第二行的free = 第一行的free + buffers + cached。
      系统已使用内存,即第二行的used = total - 第二行free
    第三行:
      swap内存交换空间使用情况

    CentOS7及以后free命令的输出如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@xuegod70 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           976M        105M        125M         12M        744M        659M
    Swap:          1.0G        288K        1.0G
     
    buffer和cached被合成一组,加入了一个available,关于此available,文档上的说明如下:
    MemAvailable: An estimate of how much memory is available for starting new applications, without swapping.
    即系统可用内存,之前说过由于buffer和cache可以在需要时被释放回收,系统可用内存即 free + buffer + cache,在CentOS7之后这种说法并不准确,因为并不是所有的buffer/cache空间都可以被回收。
    即available = free + buffer/cache - 不可被回收内存(共享内存段、tmpfs、ramfs等)。
    因此在CentOS7之后,用户不需要去计算buffer/cache,即可以看到还有多少内存可用,更加简单直观。

    buffers #缓存从磁盘读出的内容
    cached #缓存需要写入磁盘的内容
    当物理内存不够用的时候,内核会把非活跃的数据清空。

    2. 通过/proc目录,查看非活跃的内存  

    /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [root@xen ~]# cat /proc/meminfo
    MemTotal:      1720320 kB
    MemFree:        909000 kB
    Buffers:         41500 kB
    Cached:         385016 kB
    SwapCached:          0 kB
    Active:         347340 kB  活跃内存,指进程一直读写的内存空间
    Inactive:       346992 kB  非活跃内存  
    注:当内存不够用时,kernel总是把不活跃的内存交换到swap空间。如果inactive内存多时,加swap空间可以解决问题,而active多,则考虑加内存。
    HighTotal:      981512 kB
    HighFree:       318568 kB
    LowTotal:       738808 kB

    3.实战:找出系统中使用内存最多的进程?

    方法一:使用top命令
      运行top , 然后按下大写的M 可以按内存使用率来排序显示


    方法二:按照实际使用内存,从大到小排序显示所有进程列表
    [root@xuegod63 ~]# ps -aux --sort -rss | more 内存降序排序(去掉减号就是升序)
    或:
    [root@xuegod63 ~]# ps -aux --sort -rss > a.log

    四、查看IO运行状态相关工具,找出系统中对磁盘读写最多的进程

    1、I/O调优相关查看工具

    查看系统块大小 RHEL 6
    [root@xuegod63 ~]# tune2fs -l /dev/sda1 | grep size
    Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
      Block size: 1024 # 为1个字节 。 一个扇区512字节。

    RHEL 7
    [root@xuegod63 ~]# xfs_growfs -l /dev/sda1 |grep bsize
    data = bsize=4096 blocks=51200, imaxpct=25
    naming =version 2 bsize=4096 ascii-ci=0 ftype=1
    log =internal bsize=4096 blocks=855, version=2

    2、找出系统中对磁盘读写最多的进程  

    实战:查看系统中哪个磁盘或分区最繁忙?
    对于这个服务器,8块磁盘中,哪个硬盘最繁忙?哪个分区最繁忙?

    通过iostat命令查看IO是否存在瓶颈

    安装iostat:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@xuegod63 ~]# rpm -ivh /mnt/Packages/sysstat-10.1.5-12.el7.x86_64.rpm
    常用参数:
    -d 仅显示磁盘统计信息
    -k 以K为单位显示每秒的磁盘请求数,默认单位块.
    -p device | ALL 用于显示块设备及系统分区的统计信息.
     
    [root@xuegod63 ~]# iostat -d -k -p /dev/sda
    Linux 2.6.32-220.el6.x86_64 (xuegod63.cn)   03/20/2017  _x86_64_    (4 CPU)
     
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               6.64       167.01        18.53     301418      33437
    sda1              0.33         1.28         0.00       2317          9
    sda2              6.03       164.53        18.52     296949      33428
    sda3              0.18         0.80         0.00       1452          0
    注:
    每列含意:
    kB_read/s   每秒从磁盘读入的数据量,单位为K.
    kB_wrtn/s    每秒向磁盘写入的数据量,单位为K.
    kB_read    读入的数据总量,单位为K.
    kB_wrtn    写入的数据总量,单位为K.

    测试: 给磁盘写入一些内容, 写入时尽可能不读磁盘? 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [root@xuegod63 ~]# dd if=/dev/zero  of=a.txt bs=10M  count=1000;sync
    读入的数据用/dev/zero , /dev/zero不会读磁盘的。
    sync  #把内存中的数据快速写到磁盘上。只做dd不执行sync,不容易看不出写入效果
    这一招学到手:1
     
    [root@xuegod63 ~]# iostat -p sda -dk
    Linux 2.6.32-220.el6.x86_64 (xuegod63.cn)   03/03/2017  _x86_64_    (4 CPU)
     
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               6.07       128.02       463.04     298190    1078577
    sda1              0.25         0.99         0.00       2317          9
    sda2              5.60       126.10       463.04     293721    1078568

    五、查看系统整体运行状态  

    1、查看内存及系统整体运行状态:

    vmstat :命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,MEM内存使用,MSwap虚拟内存交换情况,IO读写情况。
    使用vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。 比top命令节省资源。
    注:当机器运行比较慢时,建议大家使用vmstat查看运行状态,不需要使用top,因top使用资源比较多。

    1
    2
    3
    4
    [root@xuegod70 ~]# 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    288 436628    656 454916    0    0     2    18   19   17  0  0 100  0  0

     vmstat每个字段含义说明  

    类别

    项目

    含义

    说明

     

    Procs(进程)

    r

    等待执行的任务数

    展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。

    B

    等待IO的进程数量

     

     

     

     

     

     

    Memory(内存)

    swpd

    正在使用虚拟的内存大小,单位k

     

    free

    空闲内存大小

     

    buff

    已用的buff大小,对块设备的读写进行缓冲

     

    cache

    已用的cache大小,文件系统的cache

     

    inact

    非活跃内存大小,即被标明可回收的内存,区别于free和active

    具体含义见:概念补充(当使用-a选项时显示)

    active

    活跃的内存大小

    具体含义见:概念补充(当使用-a选项时显示)

     

     

    Swap

    si

    每秒从交换区写入内存的大小(单位:kb/s)

     

    so

    每秒从内存写到交换区的大小

     

    IO

    bi

    每秒读取的块数(读磁盘)

    现在的Linux版本块的大小为1024bytes

    bo

    每秒写入的块数(写磁盘)

     

    system

    in

    每秒中断数,包括时钟中断

    这两个值越大,会看到由内核消耗的cpu时间会越多

    cs

    每秒上下文切换数

     

     

     

    CPU(以百分比表示)

    Us

    用户进程执行消耗cpu时间(user time)

    us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了

    Sy

    系统进程消耗cpu时间(system time)

    sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。

    Id

    空闲时间(包括IO等待时间)

     

    wa

    等待IO时间

    Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

      

    2、使用sar命令记录系统一段时间的运行状态 

    1
    2
    3
    [root@xuegod63 ~]# rpm -ivh /mnt/Packages/sysstat-10.1.5-12.el7.x86_64.rpm
    或:
    [root@xuegod63 ~]# yum -y install sysstat

    sysstat 工具包------可以把检查到的信息保存下来! 存在/var/log/sa目录下,文件名为sa当前日期
    sar 默认显示每10分钟统计一次状态信息 (从装sysstat包开始)
    sar 命令行的常用格式: 
    sar [options] [-A] [-o file] t [n]
    在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
    下面只列出常用选项:

    -A:所有报告的总和。

        • -n:网络接口的情况。
        • -u:CPU利用率
        • -v:进程、I节点、文件和锁表状态。
        • -d:硬盘使用报告。
        • -r:没有使用的内存页面和硬盘块。
        • -g:串口I/O的情况。
        • -b:缓冲区使用情况。
        • -a:文件读写情况。
        • -c:系统调用情况。
        • -R:进程的活动情况。
        • -y:终端设备活动情况。
        • -w:系统交换活动。
        • -o 文件名:打印到屏幕并将采样结果以二进制形式存入当前目录下的文件中。
        • -f 文件名:查看之前保存的二进制文件。
    • -d 显示磁盘
    • -d 1 100 必须得指定次数
    • -c 每秒创建进程的个数
    • -i 1 10 指定时间间隔
    • -P 查看cpu
    • -r 查看内存
    • -w 每秒上下文切换次数

      -o  /cpu.sar 保存并显示
      -f  cpu.sar   读取

    例一:使用命令行 sar -u t n
    例如,每2秒采样一次,连续采样5次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件cpu.sar中,需键入如下命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@xuegod63 ~]# sar -u 2 5 -o cpu.sar #屏幕显示以一下内容,同时内容也会写到cpu.sar中
    Linux 2.6.32-220.el6.x86_64 (xuegod63.cn) 08/04/2015 _x86_64_   (4 CPU)
     
    10:44:45 PM CPU %user %nice %system %iowait %steal %idle
    10:44:47 PM all 0.14   0.00   2.34   0.14   0.00   97.39
    10:44:49 PM all 1.08   0.00   1.33   0.36   0.00   97.23
    10:44:51 PM all 2.54   0.00   2.16   0.00   0.00   95.29
    10:44:53 PM all 0.25   0.00   1.52   0.13   0.00   98.10
    10:44:55 PM all 1.52   0.00   1.65   0.28   0.00   96.56
    Average: all 1.11   0.00   1.79   0.18   0.00   96.92

    在显示内容包括:

    • %usr:CPU处在用户模式下的时间百分比。
    • %sys:CPU处在系统模式下的时间百分比。
    • %wio:CPU等待输入输出完成时间的百分比。
    • %idle:CPU空闲时间百分比。

      在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

    实例2:查看二进制文件cpu.sar中的内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@xuegod63 ~]# sar -u -f cpu.sar
    Linux 2.6.32-220.el6.x86_64 (xuegod63.cn) 08/04/2015 _x86_64_   (4 CPU)
     
    08:21:43 PM CPU %user %nice %system %iowait %steal %idle
    08:21:45 PM all  0.00  0.00  0.72    2.03    0.00  97.25
    08:21:47 PM all  0.00  0.00  0.60    0.00    0.00  99.40
    08:21:49 PM all  0.13  0.00  0.75    0.00    0.00  99.12
    08:21:51 PM all  0.00  0.00  0.75    0.00    0.00  99.25
    08:21:53 PM all  0.12  0.00  0.75    0.00    0.00  99.13
    注:sar命令即可以实时采样,又可以对以往的采样结果进行查询。

    3、查看sar 的计划任务:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [root@xuegod63 ~]#vim  /etc/cron.d/sysstat
    # Run system activity accounting tool every 10 minutes
    # Run system activity accounting tool every 10 minutes
    */10 * * * * root /usr/lib64/sa/sa1 1 1
    # 0 * * * * root /usr/lib64/sa/sa1 600 6 &
    # Generate a daily summary of process accounting at 23:53
    53 23 * * * root /usr/lib64/sa/sa2 -A
     
    生成的日志位置:
    # ls /var/log/sa
     
    读取日志:
    [root@xuegod63 ~]# ls /var/log/sa   #只要安装sar后就会定期收集系统信息
    sa04  sa07  sa18
    -n:网络接口的情况。
    [root@xuegod63 ~]# sar -n DEV -f  /var/log/sa/sa04  #查看网络信息

    # sar -r -f /var/log/sa/sa27
    # sar -b -f /var/log/sa/sa27
    # sar -f /var/log/sa/sa27

    动态查看:
      sar 1 #默认显示CPU状态,1秒显示一次
      sar 1 10 
      sar -P 0 1 10

    sar最大特点是可以监控所有状态
      sar -r 1 查看内存
      sar -n ALL 查看所有

  • 相关阅读:
    RabbitMQ + topic发送消息+python
    maven下载依赖jar包失败处理方法--下载jar包到本地并安装到maven仓库中
    Jmeter--thrift接口压测
    将jar文件加到maven的local repository中
    在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上
    linux iptables 开启和关闭服务端口号
    centos 安装PGSQL
    pgsql 常用的命令
    web压力测试工具
    centos安装 mysql
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12574101.html
Copyright © 2020-2023  润新知