27 unix linux top-command
在4-CPU盒子上拥有350%的CPU使用率(通过一个进程)到底意味着什么?该过程是一个'mysqld',目前被模拟的OLTP场景"轰炸".
任何指针赞赏.
Mat*_*ley 41
在*NIX land中,100%cpu使用率是SINGLE cpu的100%.
这适用于多核处理器,与真正的多处理器计算机相同.
所以,你在mysql上使用总CPU周期的7/8.
waz*_*oox 18
我昨天刚刚阅读了一篇关于这个主题的有趣文章:Unix负载平均值.它将解释你需要知道的所有内容.
提取:
负载平均值是运行队列长度和当前在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基本上什么都不做,只是等待更多进程运行.
top显示的CPU百分比衡量内核在CPU上运行的单个进程在一段时间内的平均值.因此,在4核系统上350%的意味着,在一段时间内,mysqld将占用三个完整的CPU和第四个CPU的一半时间 - 即它有很多线程可以运行它几乎淹没了4个CPU有请求的核心.CPU百分比并没有真正考虑到等待队列(虽然负载平均值确实如此):它是在特定时间段内发生的事件的事后统计数据.但它肯定会显示最近哪些进程使用了CPU.
关于同一主题的另一篇文章:http://www.linuxjournal.com/article/9001