在一个4-CPU的机箱上,CPU使用率(通过一个进程)的使用率是多less? 这个过程是一个'mysqld',目前正在被一个模拟的OLTP场景'轰炸'。
任何指针赞赏。
在* NIX的土地上,100%的CPU使用率是100%的单CPU。
这适用于多核处理器,就像真正的多处理器计算机一样。
所以,你正在使用mysql的总CPU周期的七分之八。
在运行顶部时,按“1”。 这将切换视图,以便您可以看到每个单独的核心/ CPU的负载。
我刚刚读了一篇关于这个话题的有趣文章: Unix load average 。 这将解释所有你需要知道和更多。
摘录:
加载平均值是运行队列长度与当前在CPU上运行的作业数之和。 在Solaris 2.0和2.2中,负载平均值不包括正在运行的作业,但是此错误在Solaris 2.3中得到了修复。
考虑有两种显示负载的基本模式:“IRIX模式”和“Solaris模式”。 在IRIX模式下(Linux默认),平均负载1意味着一个CPU完全加载(或4 CPU系统上的每个CPU的25%等)。 在Solaris模式下,平均负载1意味着所有 CPU都被完全加载(所以它实际上相当于“IRIX模式”加载除以CPU计数 )。
加载平均值显示队列中有多少进程正在等待(根据CPU数量进行调整)。 使用一个CPU时,平均1.0的负载意味着该CPU能够以最佳方式完全处理队列上的所有请求 – 没有进程正在等待CPU,并且没有CPU周期被浪费(即空闲)。 平均2.0的负载(在单核系统上(意味着一半的进程将等待在CPU上运行的机会:-(负载平均值为0.33意味着系统上负载很少) 2/3的时候CPU基本上什么都不做,只能等待更多的进程运行。
顶部显示的CPU百分比衡量内核在CPU上运行单个进程的频率,在一段时间内进行平均。 所以在一个4核心系统上,350%意味着一段时间内,mysqld将会占用三个完整的CPU和第四个CPU的一半时间 – 也就是说它有很多线程运行,几乎可以吞噬4个核心与请求。 CPU百分比并没有真正考虑到等待队列(而平均负载):这是一个事后统计在某个时间框架内发生的事情。 但是它肯定会显示最近哪些进程正在使用CPU。
关于同一主题的另一篇彻底的文章: http : //www.linuxjournal.com/article/9001
有4×100%,所以“顶部”显示了一个4 CPU的总数的400%。
每个cpu进程都被认为是100%。 所以总计4个CPU的400%。