歡迎光臨
每天分享高質量文章

在 Linux 上簡單模擬系統負載的方法 | Linux 中國

系統管理員通常需要探索在不同負載對應用效能的影響。這意味著必須要重覆地人為創造負載。當然,你可以透過專門的工具來實現,但有時你可能不想也無法安裝新工具。
— Elliot Cooper


本文導航
編譯自 | https://bash-prompt.net/guides/create-system-load/ 
 作者 | Elliot Cooper
 譯者 | lujun9972

系統管理員通常需要探索在不同負載對應用效能的影響。這意味著必須要重覆地人為創造負載。當然,你可以透過專門的工具來實現,但有時你可能不想也無法安裝新工具。

每個 Linux 發行版中都自帶有建立負載的工具。他們不如專門的工具那麼靈活,但它們是現成的,而且無需專門學習。

CPU

下麵命令會建立 CPU 負荷,方法是透過壓縮隨機資料並將結果傳送到 /dev/null

  1. cat /dev/urandom | gzip -9 > /dev/null

如果你想要更大的負荷,或者系統有多個核,那麼只需要對資料進行壓縮和解壓就行了,像這樣:

  1. cat /dev/urandom | gzip -9 | gzip -d | gzip -9 | gzip -d > /dev/null

按下 CTRL+C 來終止行程。

記憶體佔用

下麵命令會減少可用記憶體的總量。它是透過在記憶體中建立檔案系統然後往裡面寫檔案來實現的。你可以使用任意多的記憶體,只需喲往裡面寫入更多的檔案就行了。

首先,建立一個掛載點,然後將 ramfs 檔案系統掛載上去:

  1. mkdir z

  2. mount -t ramfs ramfs z/

第二步,使用 dd 在該目錄下建立檔案。這裡我們建立了一個 128M 的檔案:

  1. dd if=/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 大小的檔案:

  1. dd if=/dev/zero of=loadfile bs=1M count=1024

下麵命令用 for 迴圈執行 10 次操作。每次都會複製 loadfile 來改寫 loadfile1

  1. for i in {1..10}; do cp loadfile loadfile1; done

透過修改 {1..10} 中的第二個引數來調整執行時間的長短。(LCTT 譯註:你的 Linux 系統中的預設使用的 cp 命令很可能是 cp -i 的別名,這種情況下覆寫會提示你輸入 y 來確認,你可以使用 -f 引數的 cp 命令來改寫此行為,或者直接用 /bin/cp 命令。)

若你想要一直執行,直到按下 CTRL+C 來停止,則執行下麵命令:

  1. while true; do cp loadfile loadfile1; done


via: https://bash-prompt.net/guides/create-system-load/

作者:Elliot Cooper[2] 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

lujun9972 ? ? ? ?
共計翻譯:70 篇
貢獻時間:48 天


推薦文章

< 左右滑動檢視相關文章 >

點選圖片、輸入文章 ID 或識別二維碼直達

贊(0)

分享創造快樂