zoukankan      html  css  js  c++  java
  • Linux性能测试与调优的15条常用命令

    一、CPU性能评估

    通过下面的命令能了解到CPU是否出现性能瓶颈,再结合top、ps等命令进一步检查,即可定位到那些进程导致CPU负载过大
    vmstat命令:查看CPU负载

    1
    [oracle@oracle backup]$ vmstat 2 3  # 间隔2s,打印3次<br>procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- <br>r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st <br>0  0 328088  65340  26020 745768    0    1     4    20   58   64  0  0 100  0  0 <br>0  0 328088  65340  26020 745764    0    0     0     0  126  245  0  0 100  0  0 <br>0  0 328088  65340  26020 745768    0    0     2    20  137  250  0  0 99  1  0

      

    sar命令:统计CPU性能
    场景:在一个多CPU的系统中,CPU的整体使用率不高,但是系统应用响应缓慢。
    结论:单线程只使用一个CPU,导致这个CPU占用率为100%,无法处理其他请求,而其他的CPU却闲置,这就导致了整体CPU使用率不高,而应用缓慢现象的发生。
    sar -P 0 3 5 :对第一个CPU进行统计

    复制代码
    [oracle@oracle backup]$ sar -P 0 3 5  显示CPU利用率,间隔3s,显示5次
    Linux 2.6.32-431.el6.x86_64 (oracle) 03/17/2020 _x86_64_ (1 CPU) 02:40:21 AM CPU %user %nice %system %iowait %steal %idle
    02:40:24 AM 0 0.00 0.00 2.13 0.00 0.00 97.87
    02:40:27 AM 0 0.00 0.00 0.33 0.00 0.00 99.67
    02:40:30 AM 0 0.00 0.00 0.33 0.33 0.00 99.33
    02:40:33 AM 0 0.33 0.00 0.33 0.00 0.00 99.33
    02:40:36 AM 0 0.00 0.00 0.33 0.00 0.00 99.67
    Average: 0 0.07 0.00 0.68 0.07 0.00 99.19
    复制代码

    iostat命令:查看CPU使用情况

    [oracle@oracle backup]$ iostat -cLinux 2.6.32-431.el6.x86_64 (oracle)    03/17/2020      _x86_64_        (1 CPU)
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0.06    0.00    0.08    0.18    0.00   99.68


    uptime命令:1、5、15分钟平均负载
    经验:8核CPU,load average三个值长期大于8,说明负载很高,会影响系统性能。

    [oracle@oracle backup]$  uptime 02:42:25 up 6 days, 23:41,  1 user,  load average: 0.00, 0.00, 0.00

    二、内存性能评估


    free命令:查看内存使用情况
    经验:可用内存/物理内存<20%,说明内存紧缺,需要增加内存

    复制代码
    [oracle@oracle backup]$  free -m  -m 以MB为单位,-s 时间段内不间断监控             
    total used free shared buffers cached
    Mem: 980 906 74 0 26 716

    -/+ buffers/cache: 163 817
    Swap: 2495 321 2174
    复制代码

    vmstat命令:监控内存

    [oracle@oracle backup]$ vmstat
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    r b swpd free buff cache si so bi bo in cs us sy id wa st

    0 1 329148 76376 27440 733380 0 1 4 20 58 64 0 0 100 0 0

    sar -r命令:监控内存

    复制代码
    [oracle@oracle backup]$ sar -rLinux 2.6.32-431.el6.x86_64 (oracle)    03/17/2020      _x86_64_        (1 CPU)
    12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
    12:10:01 AM 72404 932008 92.79 14544 736452 1905844 53.53
    12:20:01 AM 71288 933124 92.90 15528 736612 1905844 53.53
    12:30:01 AM 70668 933744 92.96 16480 736664 1905844 53.53
    12:40:01 AM 69676 934736 93.06 17464 736724 1905848 53.53
    12:50:01 AM 68560 935852 93.17 18424 736812 1905848 53.53
    01:00:01 AM 67568 936844 93.27 19392 736840 1905848 53.53
    01:10:01 AM 68764 935648 93.15 20368 736784 1905848 53.53
    01:20:01 AM 67648 936764 93.26 21348 736920 1905852 53.53
    复制代码


    三、磁盘I/O性能评估
    sar -d命令:统计磁盘I/O状态经验:

    • 1、正常svctm<await。

    • 2、svctm接近await表示几乎没有I/O等待,性能很好

    • 3、cpu/内存复合/过多请求都会使svctm增加

    • 4、%util接近100%,表示I/O满负荷。

    复制代码
    [oracle@oracle backup]$ sar -dLinux 2.6.32-431.el6.x86_64 (oracle)    03/17/2020      _x86_64_        (1 CPU)
    12:00:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
    12:10:01 AM dev8-0 0.37 5.67 3.50 24.65 0.00 3.38 2.31 0.09
    12:10:01 AM dev8-16 1.75 1.54 44.05 26.00 0.00 2.46 1.89 0.33
    12:10:01 AM dev8-32 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    12:10:01 AM dev8-48 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    12:10:01 AM dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    12:10:01 AM dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    复制代码

    iostat -d命令:

    1 [oracle@oracle backup]$  iostat -dx /dev/sda3
    Linux 2.6.32-431.el6.x86_64 (oracle) 03/17/2020 _x86_64_ (1 CPU) 2 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util
    sda3 0.03 0.16 0.01 0.00 0.29 1.32 186.07 0.00 63.32 6.07 182.97 8.40 0.01

    四、网络性能评估


    ping命令:检测网络连通
    netstat命令:-i 查看网络接口信息,-r 检测系统路由表信息
    sar -n命令:显示系统网络运行状态

    [oracle@oracle backup]$ sar -n DEV 2 3   #  DEV:网络接口,EDEV:网络错误统计数据,SOCK:套接字信息,FULL:显示所有
    Linux 2.6.32-431.el6.x86_64 (oracle) 03/17/2020 _x86_64_ (1 CPU) 02:49:05 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
    02:49:07 AM lo 1.01 1.01 0.05 0.05 0.00 0.00 0.00
    02:49:07 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    traceroute命令:跟踪数据包传输路径
    nslookup命令:判断DNS解析信息

     

    五、动态监控性能

    复制代码
    [oracle@oracle backup]$ watch -n 3 -d free  # -n 重复执行时间,-d 高亮显示变动
    Every 3.0s: free Tue Mar 17 02:50:44 2020 total used free shared buffers cached
    Mem: 1004412 930144 74268 0 28516 733728

    -/+ buffers/cache: 167900 836512
    Swap: 2555888 329132 2226756
    复制代码
  • 相关阅读:
    java实现算年龄
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现三角螺旋阵
    Delphi ActiveForm发布全攻略
    序列化FastReport,重要提示少走弯路 good
    深入探索ScrollWindow
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13080714.html
Copyright © 2011-2022 走看看