首页 > 代码库 > Linux CPU性能指标及解释

Linux CPU性能指标及解释

      1. CPU Utilization - CPU使用率
        CPU Utilization是衡量程序占用系统资源的最直观指标,即CPU使用率。如果CPU Utilization5%-10%之间则基本上对系统没有影响,可以不关注。但如果在80%-90%,或者更高的话,就可能出现处理器性能瓶颈了。
      1. User Time - 用户时间
        描述CPU耗费在用户进程上的百分比,包括Nice time。如果User Time值很高,则表明系统正在执行实际的工作。
      1. System Time - 系统时间
        描述CPU耗费在内核操作上的CPU百分比,包括硬中断(IRQ)和软中断(SoftIRQ?)。System Time值持续很高表明网络或驱动程序栈可能存在瓶颈。性能良好的系统应当耗费尽量少的时间在内核操作上。
      1. Waiting - 等待时间
        描述CPU在等待I/O操作所耗费的时间总和,与阻塞(Blocked)指标相似,系统不应该耗费太多的时间在等待I/O操作;否则你应该检查一下各个I/O子系统的性能。
      1. Idle time - 空闲时间
        描述CPU等待任务到达的时间百分比,即CPU空闲时间。
      1. Nice time - Nice时间
        描述CPU耗费在进程re-nicing的百分比,re-nicing指的是改变进程的执行顺序和优先级。
      1. Load average - 平均负载
        Load average不是CPU百分比,它是以下数值加和的平均值:
        — 队列中等待执行的进程数
        等待不可中断任务执行完成的进程数
        就是TASK_RUNNINGTASK_UNINTERRUPTIBLE之和的平均值。如果请求CPU 处理的进程发生阻塞(意味着CPU没有空闲时间去执行该进程)Load average将会上升。相反如果每个进程都可以立即执行,而且没有空转的CPU周期,那Load average将会降低。
      1. Runable processes - 可运行进程
        Runable processes描述准备执行的进程数。在一段持续的时间内Runable processes不应该超过CPU数量的10倍,否则CPU可能存在性能瓶颈。
      1. Blocked - 堵塞
        描述因等待I/O操作完成而挂起的进程数,Blocked指标往往意味着I/O存在性能瓶颈。
      1. Context switch - 上下文交换
        Context switch描述系统中线程之间发生交换的数量。只有一小部分情况下需要Context switch,通常情况下是不需要Context switch,因为每次操作都伴随着刷新CPU缓存。Context switch次数过多与大量的中断请求有关,这意味着驱动或应用程序可能存在问题。
      1. Interrupts - 中断
        Interrupts包括硬中断(hard interrupts)和软中断(soft interrupts)hard interrupts会对系统性能产生非常不利的影响。Interrupts过高意味着应用程序存在性能瓶颈,可能在内核或者驱动中。 Interrupts也包括CPU时钟产生的中断。