错误的观念 监控工具显示的100%CPU使用率可能是误导。在这种情况下,我可以坦率的告诉你-'Seeing is not believing!'(看到的并非就是可信的)。你可能对着监控器抓破脑袋,苦思冥想,因为找不到可行方案,来解决所观察的某些服务器的高CPU使用率问题。你的服务器可能消耗100%使用率,而负载却不可思议的低。 然而,好消息是使用率100%,并不总是意味着CPU就是性能瓶颈,尤其是在UNIX/LINUX操作系统下。除非,你看到vmstat里‘r’值(进程队列),超出了SMP服务器的CPU数量。例如:如果r=5,而你的SMP只有4个CPU或内核,那这绝对是瓶颈。队列的意思是,如果CPU不忙,当一个线程进入运行/处理队列(r)时,它立即会被一个CPU处理。但是,如果所有可用的CPU都忙于处理线程,后来进入的线程就只能在进程队列中等待,直到有可用的CPU来处理这些等待的线程。 这说明,当你看到一个非常高的CPU值警报时,问问自己:CPU使用率是什么? 答案:CPU使用率=100%-(%花在空闲业务的时间) 如果你理解了上述方程式,你就永远不会再在CPU使用率上迷失。