Linux系統下簡單模擬高CPU\高內存\高負載的方法

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 的文件:

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 大小的文件:

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

下面命令用 for 循環執行 10 次操作。每次都會拷貝 loadfile 來覆蓋 loadfile1:

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

通過修改 {1…10} 中的第二個參數來調整運行時間的長短。(LCTT 譯註:你的 Linux 系統中的默認使用的 cp 命令很可能是 cp -i 的別名,這種情況下覆寫會提示你輸入 y 來確認,

你可以使用 -f參數的 cp 命令來覆蓋此行爲,或者直接用 /bin/cp 命令。)

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

while true; do cp loadfile loadfile1; done

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章