公司有次壓測存在一個問題:CPU資源壓不上去,一直在40%已達到了性能瓶頸,後定位到原因,所在的伺服器在壓測過程中産生的中斷都落在CPU0上處理,這種中斷并沒有均衡到各個CPU,導緻單個CPU過載而形成瓶頸。(這個機器是新的實體機器)
解決方式是啟用irqbalance服務(指令:service irqbalance start),讓硬體中斷在多個CPU中配置設定處理,進而解決單CPU過載的問題。
IRQBalance主要功能是可以合理的調配使用各個CPU核心,特别是對于目前主流多核心的CPU,簡單的說就是能夠把壓力均勻的配置設定到各個CPU核心上,對提升性能有很大的幫助。
啟用 irqbalance 服務,既可以提升性能,又可以降低能耗。irqbalance 用于優化中斷配置設定,它會自動收集系統資料以分析使用模式,并依據系統負載狀況将工作狀态置于 Performance mode 或 Power-save mode。
處于 Performance mode 時,irqbalance 會将中斷盡可能均勻地分發給各個 CPU core,以充分利用 CPU 多核,提升性能。
處于 Power-save mode 時,irqbalance 會将中斷集中配置設定給第一個 CPU,以保證其它空閑 CPU 的睡眠時間,降低能耗。
開啟IRQBalance服務:
service irqbalance start
關閉IRQBalance服務:
service irqbalance stop
關閉開機啟動IRQBalance服務:
chkconfig --level 123456 irqbalance off
另外檢視/proc/interrupts 這個檔案可以看到各個cpu中斷情況
直接top指令也可以檢視cpu中斷情況
參考: http://www.aikaiyuan.com/7109.html
中斷:http://blog.csdn.net/joeyon1985/article/details/39127087
top指令:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html
謀膽并重