天天看點

通過md5sum指令制造CPU負載或壓力

  linux下如何讓cpu負載瞬間升高?前段時間,有一個指令組合想不起來是什麼了,上網搜尋了一番也沒有找到合适的結果,最後好不容易翻看以前測試監控伺服器時配置的腳本,終于找到了。這是一個很簡潔的指令行,當初前面是記起來了,cat /dev/urandom(注意不是/dev/random),後面死活記不起來了。過了一晚終于找到了靈感,檢視曆史記錄,發現寫到伺服器測試腳本去了。   

  功夫不負有心人,終于找到了!制造cpu負載的指令是cat /dev/urandom | md5sum 。大喜!    

  當時去qq群裡和大家一起讨論,有朋友問為什麼要找這麼個指令,為了測試監控伺服器的報警情況,不過當然也可以通過設定合适的門檻值來實作測試,不過既然測試就真實一些,這個指令就當是給大家一個參考吧。

  不過後來才發現,這個指令是吃的cpu的system使用值,而不是user使用值,假如linux伺服器有16個核心,則至少可以運作這樣的指令15(+1)個。對于某些監控軟體,例如zabbix來說,這樣是不足以觸發報警的。因為它的預設檢測值是cpu中user值而不是system值(system.cpu.load[percpu,avg1]),從這個數值(system.cpu.load[percpu,avg1])也能看出,說是每個cpu(percpu),這個cpu顯然應該是虛拟cpu。

  但對于實體伺服器而言,cpu的使用情況無疑會變得很高,例如運作在vmware vshpere中的某個虛拟機打開了這樣的測試指令,顯然會導緻實體伺服器中的vmware vcenter發出報警。

繼續閱讀