Linux 負載測試
針對 Ubuntu Server 不安裝任何額外軟體(如 stress、sysbench)的情況下,利用內建工具讓 CPU 滿載產熱其實非常簡單。現代主機/伺服器 CPU 核心數通常較多,如果只跑單一程序負載/溫度會上不去,所以關鍵在於「平行執行」,讓所有核心同時運作。
以下提供三種方法,依照產熱效率由低到高排列:
方法一:使用yes 指令(最簡單)
yes 是一個內建指令,原本是用來自動回答"y"的,但如果把輸出導向 /dev/null,它就會瘋狂佔用 CPU 線程。
1. 啟動壓力測試(單行指令,自動吃滿所有核心)
for i in $(seq $(nproc)); do timeout 60s yes > /dev/null & done-
nproc:自動偵測你的CPU 有幾個執行緒。 -
for loop:根據核心數,在背景啟動對應數量的 yes 程序。 timeout <time_length>:設定持續時間&:讓它們在背景執行。
2. 監控系統
watch -n 1 sensors - 假設系統未預裝任何軟體時使用。
- 如果想要更清楚的圖表,推薦安裝 btop,並且在終端輸入
btop就可以清楚地看到漂亮的介面了。

3. 中斷/停止測試
sudo killall yes- 需要中斷時可以輸入這行停止操作,但僅建議用於 yes 場景
- 其他類型的負載可能誤殺必要的進程,建議使用
timeout自動停止
方法二:使用sha1sum 計算雜湊(產熱效率更高,推薦)
單純的邏輯迴圈(如 yes)有時候產生的熱量不如「數學運算」。計算雜湊值(Hash)會大量使用ALU(算術邏輯單元),通常能讓溫度升得更快。
1. 啟動壓力測試(單行指令,自動吃滿所有核心)
for i in $(seq $(nproc)); do timeout 60s sha1sum /dev/zero & done- 這會不斷地計算/dev/zero 的 SHA-1 值,對 CPU 負載很重。
2. 停止測試
建議使用 timeout 參數以自動停止,因為 killall 可能誤殺其他進程
方法三:使用 Python(如果系統有內建/安裝 Python3)
如果你的 Ubuntu Server 有安裝 Python 3,可以用 Python 跑數學運算,這通常比 Shell 指令更暴力一點。
1. 啟動壓力測試
for i in $(seg $(nproc)); do python3 -c "while True: x=2**20" & done- 這會讓每個核心不斷計算2的20次方。
2. 停止測試
尤其建議使用 timeout 參數以自動停止, killall 會誤殺其他調用python的進程
測試建議流程
1. 開啟兩個終端機視窗(或SSH Session)
- 視窗 A:輸入指令監控設備。
- 視窗 B:準備輸入壓力測試指令。
2. 視窗 B 執行壓力測試。
- 推薦方法: sha1sum
3. 觀察視窗 A:
- 看溫度從待機(例如 35°C)爬升到50°C、60°C...
- 關鍵點:觀察當溫度跨過你設定的節點(例如 60°C)時,風扇轉速(RPM)是否如預期地增加?
- 如果溫度降下來,轉速是否也慢慢降下來?
Member discussion