zoukankan      html  css  js  c++  java
  • linux性能系列--cpu

    一、先看看什么是CPU天真

    酷回答:中央处理器(Central Processing Unit)的缩写,即CPUCPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。

    想了解详细的cpu介绍请去百科:CPU页面

     

    二、如何查看机器的cpu相关信息呢天真

    酷回答:可以cat /proc/cpuinfo
     
     

    三、怎么查看系统CPU的负载情况天真

    酷回答:方法有很多,比如工具使用等,如下用vmstat

     

     

    关于vmstat的详细介绍请点击这里

     

    四、如何查看某个进程的cpu使用情况呢天真

    酷回答:方法有很多,比如工具使用等,如下用ps -aux
     

     

    :进程CPU占用:ps -aux(推荐),这个是不准确的。它的cpu值为模块启动时间直到现在的平均值,对于已经运行长时间的模块来说,突然对它施加压力,采用此看出的结果是平均后的值,可以重启模块在加压力来减小误差。
     

    五、Cpu性能指标及解释

      1. CPU Utilization - CPU使用率
        CPU Utilization是衡量程序占用系统资源的最直观指标,即CPU使用率。如果CPU Utilization在5%-10%之间则基本上对系统没有影响,可以不关注。但如果在80%-90%,或者更高的话,就可能出现处理器性能瓶颈了。
      2. User Time - 用户时间
        描述CPU耗费在用户进程上的百分比,包括Nice time。如果User Time值很高,则表明系统正在执行实际的工作。
      3. System Time - 系统时间
        描述CPU耗费在内核操作上的CPU百分比,包括硬中断(IRQ)和软中断(SoftIRQ?)。System Time值持续很高表明网络或驱动程序栈可能存在瓶颈。性能良好的系统应当耗费尽量少的时间在内核操作上。
      4. Waiting - 等待时间
        描述CPU在等待I/O操作所耗费的时间总和,与阻塞(Blocked)指标相似,系统不应该耗费太多的时间在等待I/O操作;否则你应该检查一下各个I/O子系统的性能。
      5. Idle time - 空闲时间
        描述CPU等待任务到达的时间百分比,即CPU空闲时间。
      6. Nice time - Nice时间
        描述CPU耗费在进程re-nicing的百分比,re-nicing指的是改变进程的执行顺序和优先级。
      7. Load average - 平均负载
        Load average不是CPU百分比,它是以下数值加和的平均值:
        — 队列中等待执行的进程数
        — 等待不可中断任务执行完成的进程数
        也 就是TASK_RUNNING和TASK_UNINTERRUPTIBLE之和的平均值。如果请求CPU 处理的进程发生阻塞(意味着CPU没有空闲时间去执行该进程),Load average将会上升。相反如果每个进程都可以立即执行,而且没有空转的CPU周期,那Load average将会降低。
      8. Runable processes - 可运行进程
        Runable processes描述准备执行的进程数。在一段持续的时间内Runable processes不应该超过CPU数量的10倍,否则CPU可能存在性能瓶颈。
      9. Blocked - 堵塞
        描述因等待I/O操作完成而挂起的进程数,Blocked指标往往意味着I/O存在性能瓶颈。
      10. Context switch - 上下文交换
        Context switch描述系统中线程之间发生交换的数量。只有一小部分情况下需要Context switch,通常情况下是不需要Context switch,因为每次操作都伴随着刷新CPU缓存。Context switch次数过多与大量的中断请求有关,这意味着驱动或应用程序可能存在问题。
      11. Interrupts - 中断
        Interrupts包括硬中断(hard interrupts)和软中断(soft interrupts)。hard interrupts会对系统性能产生非常不利的影响。Interrupts过高意味着应用程序存在性能瓶颈,可能在内核或者驱动中。 Interrupts也包括CPU时钟产生的中断。
  • 相关阅读:
    YOLO V5 is Here! Custom Object Detection Tutorial with YOLO V5
    pjsip application notes
    Tilt Angle Visualization With Edison, Accelerometer and Python
    WebRTC 镜像源
    Get Started with WebRTC
    sqlserver关于发布订阅replication_subscription的总结
    在Flask中,g是什么?它的生命周期是?能做什么?
    46.全排列问题
    【LeetCode】代码模板,刷题必会
    QEMU+KVM学习笔记
  • 原文地址:https://www.cnblogs.com/argb/p/3448718.html
Copyright © 2011-2022 走看看