zoukankan      html  css  js  c++  java
  • 性能分析之CPU相关分析命令

    top命令:

    输入top命令,如下图:

    top命令显示内容后按1,则会显示每颗CPU的使用情况,如下图

     输出项说明:

    %Cpu(s)表示统计信息为所有 CPU 的平均值。
    %user 显示在用户级别(application)运行使用 CPU 总时间的百分比。
    %nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
    %system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
    %iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。
    %steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
    %idle 显示 CPU 空闲时间占用 CPU 总时间的百分比。

    用户空间和内核空间的CPU使用百分比一般是70%和30%,这是一个比较合理的值。如果内核空间占用CPU太多,则会影响进程(用户空间)提供的服务。

    vmstat命令:

    执行vmstat 1 10,意思是每秒输出1次,总共输出10次,结果如下图:

     上图红色框部分表示的是CPU的使用情况,和top下的意思一样

    sar命令(System Activity Reporter系统活动情况报告):

    执行sar -q命令,结果如下:

     

     输出项说明:

    runq-sz:运行队列的长度(等待运行的进程数)

    plist-sz:进程列表中进程(processes)和线程(threads)的数量

    ldavg-1:最后1分钟的系统平均负载(System load average)

    ldavg-5:过去5分钟的系统平均负载

    ldavg-15:过去15分钟的系统平均负载

    w命令:

     主要关注Load average,其3个值从左至右分别代表最近1分钟、最近5分钟、最近15分钟系统的负载。如果这3个值除以CPU核数>1,则表示服务器有较大压力,可以使用vmstat进一步查看CPU运行队列。

    uptime命令:

     和w命令一样,关注Load average

    mpstat命令:

     各列的值解释同top命令。一般来说idle的值长期小于10,则表示CPU繁忙。

    如果要看某颗CPU的使用情况,则使用命令:mpstat -P 0 1,其中0代表的是第0颗CPU,1表示每隔1秒统计一次,效果如下图:

     还可以使用sar -P 0 1命令,输出结果和mpstat一样

    iostat命令:

    iostat -c 1,1表示每秒输出一次,iostat -c 1 5中,1表示每秒输出一次,总共输出5次

      

    dstat命令:

    执行dstat --top-cpu 可以实时查看CPU当前在运行的进程名称,如下图

  • 相关阅读:
    Redis批量删除key的小技巧,你知道吗?
    Spring条件注解@Conditional
    Spring Boot 2.X 如何快速集成单元测试?
    idea git提交时候提示 --author 'java_suisui' is not 'Name ' and matches no existing author
    Spring Boot 2.X 如何添加拦截器?
    SpringMVC+Mybatis 如何配置多个数据源并切换?
    Spring Boot 2.X 如何优雅的解决跨域问题?
    基于SSL实现MySQL的加密主从复制
    mysql -- mysql基于ssl的主从复制
    MySQL DB 主从复制之SSL
  • 原文地址:https://www.cnblogs.com/wx170119/p/13745935.html
Copyright © 2011-2022 走看看