Cpu
測試CPU負載和程序優先級的程序
我正在對 Amazon EC2 實例進行一些測試,我們希望 CPU 始終保持在 80% 以上的繁忙狀態。
我有一個
main
需要以高優先級執行的程序,我想啟動另一個程序,最好是一些數學 C 程式碼或 bash 腳本,它將 CPU 載入到 80% 以上。有哪些程序可用於此類任務,以及如何使我的程序以最高優先級執行。
PS:執行 Fedora。
在 shell 中以 100%(減去成本)佔用一個 CPU 很容易:
while true; do :; done
如果要減少負載,請引入睡眠。
i=0; while [ $i -ne 0 ] || sleep 0.001; do i=$(( (i+1) % 10000 )); done
調高或調低 10000 以獲得所需的負載。
調度優先級由 設置
nice
。您需要成為 root 才能設置高於預設值的優先級。請注意,消極的niceness 意味著高優先級(積極的niceness 意味著很好,即低優先級)。nice -20 sh -c 'while …'
使用“nice”,您可以控制優先級。對於最高優先級(僅適用於 root):
nice -n -20 yourprogram
對於最低的:
nice -n 19 yourprogram
如果您還需要控制 IO,請使用 ionice。文件中的“man nice”和“man ionice”。