2021-05-12 14:32:11
在 Linux 上簡單模擬系統負載的方法
系統管理員通常需要探索在不同負載對應用效能的影響。這意味著必須要重複地人為創造負載。當然,你可以通過專門的工具來實現,但有時你可能不想也無法安裝新工具。
每個 Linux 發行版中都自帶有建立負載的工具。他們不如專門的工具那麼靈活,但它們是現成的,而且無需專門學習。
CPU
下面命令會建立 CPU 負荷,方法是通過壓縮亂數據並將結果傳送到 /dev/null
:
cat/dev/urandom | gzip -9>/dev/null
如果你想要更大的負荷,或者系統有多個核,那麼只需要對資料進行壓縮和解壓就行了,像這樣:
cat/dev/urandom | gzip -9| gzip -d | gzip -9| gzip -d >/dev/null
按下 CTRL+C
來終止進程。
記憶體占用
下面命令會減少可用記憶體的總量。它是通過在記憶體中建立檔案系統然後往裡面寫檔案來實現的。你可以使用任意多的記憶體,只需喲往裡面寫入更多的檔案就行了。
首先,建立一個掛載點,然後將 ramfs 檔案系統掛載上去:
mkdir z
mount-t ramfs ramfs z/
第二步,使用 dd
在該目錄下建立檔案。這裡我們建立了一個 128M 的檔案:
ddif=/dev/zero of=z/file bs=1M count=128
檔案的大小可以通過下面這些操作符來修改:
bs=
塊大小。可以是任何數位後面接上B
(表示位元組),K
(表示 KB),M
( 表示 MB)或者G
(表示 GB)。count=
要寫多少個塊。
磁碟 I/O
建立磁碟 I/O 的方法是先建立一個檔案,然後使用 for
迴圈來不停地拷貝它。
下面使用命令 dd
建立了一個全是零的 1G 大小的檔案:
ddif=/dev/zero of=loadfile bs=1M count=1024
下面命令用 for
迴圈執行 10 次操作。每次都會拷貝 loadfile
來覆蓋 loadfile1
:
for i in{1..10};docp loadfile loadfile1;done
通過修改 {1..10}
中的第二個引數來調整執行時間的長短。(LCTT 譯註:你的 Linux 系統中的預設使用的 cp
命令很可能是 cp -i
的別名,這種情況下覆寫會提示你輸入 y
來確認,你可以使用 -f
引數的 cp
命令來覆蓋此行為,或者直接用 /bin/cp
命令。)
若你想要一直執行,直到按下 CTRL+C
來停止,則執行下面命令:
whiletrue;docp loadfile loadfile1;done
via: https://bash-prompt.net/guides/create-system-load/
作者:Elliot Cooper 譯者:lujun9972 校對:wxy
本文永久更新連結地址:http://www.linuxidc.com/Linux/2018-01/150323.htm
相關文章