linux stress 壓測命令的使用


一、stress工具安裝:
1、獲取stress源碼安裝包(stress-1.0.4.tar.gz)
3、解壓並安裝

[root@localhost /]#cd /tmp/
[root@localhost tmp]#tar –zxvf stress-1.0.4.tar.gz

4、進入stress-1.0.4文件夾下,編譯並安裝stress

[root@localhost tmp]#cd /tmp/stress-1.0.4/
[root@localhost stress-1.0.4]#./configure
[root@localhost stress-1.0.4]# make
[root@localhost stress-1.0.4]#make install

默認安裝在:/usr/local/bin/stress
二、stress工具使用:
命令:taskset –c 邏輯CPU索引號 stress --timeout 持續時間 --cpu 1
參數說明:
-c 服務器邏輯CPU的索引號
--timeout 對CPU施加壓力的持續時間
--cpu stress進程數,若值為2,每個stress進程所有消耗的邏輯CPU資源平分
如:對索引為0的邏輯cpu施加壓力, 持續30秒

taskset -c 0 stress --timeout 30 --cpu 1

通過top 1可以查看到索引為0的CPU的利用率

 

 

按作業指導書安裝完系統以后,假設“/var”分區是系統中最大的分區,按以下方式之

一運行stress(建議使用第三種方式):

Step9 #cd /var

Step10 #mkdir test //建立測試目錄“test”//

Step11 #cd test

Step12-1 #stress -d 1 --hdd-noclean --hdd-bytes 800k // 方式一: 主要

測試硬盤,通過mkstemp()生成800K大小的文件,寫入硬盤,對CPU,

內存的使用要求很低 //

Step12-2 #stress -c 4 -i 4 -d 1 --hdd-noclean --hdd-bytes 800k

// 方式二:增大“c”,“i”值會提高CPU的使用率;增大“d”值會

減少CPU的使用率,而增加對硬盤的數據寫入量,但是對內存都要

求不高 //

Step12-3 #stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean

--hdd-bytes 800k //方式三:增大“vm”,“--vm-bytes”

的值或采用選項“—vm-hang”都會提高內存的使用率//

運行過程中,您可以通過按“Alt+Ctrl+F*”進入其他終端,執行“df”命令,查看磁

盤是否已滿(/var是否已滿),如果磁盤已滿,則程序“stress”會報錯並終止;

執行以下操作,清空測試目錄,如果需要;進入到測試目錄下,繼續運行“stress”進

行測試:

Step13 #cd

Step14 #chmod -R 755 /var/test

Step15 #rm -R -f /var/test/

Step16 #cd /var/test/

Step17 #stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean

--hdd-bytes 800k //重新運行//

出貨時,只需要刪除相關的測試目錄即可,Stress可以保留在系統中,也可以使用以

下方式刪除:

Step18:#rm -R -f /usr/local/src/stress-0.18.1/

Step19:#rm -f /usr/local/bin/stress

Step20: #rm -f /usr/local/src/stress-0[1].18.1.tar.gz

完畢

附:Stress使用說明

Stress 選項說明:

-?

--help 顯示幫助信息

--version 顯示軟件版本信息

-v

--verbose 顯示詳細運行信息

-q

--quiet 不顯示運行信息

-n

--dry-run 顯示已經完成的指令執行情況

-t secs

--timeout secs 指定運行多少秒

--backoff usecs 等待usecs微秒后才開始執行

-c forks

--cpu forks

產生多個處理sqrt()函數的CPU進程

-i forks

--io forks

產生多個處理sync()函數的磁盤I/O進程

-m forks

--vm forks

產生多個處理malloc()內存分配函數的進程

--vm-bytes bytes

指定內存的Bytes數,默認值是1(與--vm-hang配合使用)

--vm-hang

指示每個消耗內存的進程在分配到內存后轉入休眠狀態,與正常的無限分配和釋放內存的處理相反,這有利於模擬只有少量內存的機器;例如,下面命令運行時就會

分配到並一直持有256M內存,直到進程被終止;

% stress --vm 2 --vm-bytes 128M --vm-hang

-d forks

--hdd forks

產生多個執行write()函數的進程

--hdd-bytes bytes

指定寫的Bytes數,默認是1GB

--hdd-noclean

不要將寫入隨機ASCII數據的文件Unlink

注意:時間單位可以為秒s,分m,小時h,天d,年y,文件大小單位可以為K,M,G

示例:

一個簡單的例子就是你只想給系統一個隨機負載,此命令產生13個進程,每個進程都反復不停的計算由rand()產生隨機數的平方根

% stress -c 13

Stress支持很多選項,可以指定僅顯示有限的運行信息,以下命令產生1024個進程,僅顯示出錯信息

% stress --quiet --cpu 1k

為了觀察系統何時達到I/O極限,可以使用選項“-i”,以下指令產生4個進程,每個進程反復調用sync(),sync()用於將內存上的內容寫到硬盤上

% stress -i 4

可以在一條指令中使用多個消耗資源的選項,如下指令表示顯示運行信息,一分鍾后終止運行(13個CPU進程,4個I/O進程)

% stress -c 13 -i 4 --verbose --timeout 1m

你也可以指定向磁盤中寫入固定大小的文件,這個文件通過調用mkstemp()產生並保存在當前目錄下,默認是文件產生后就被執行unlink(清除)操作,但是你可以使用“--hdd-bytes”選項將產生的文件全部保存在當前目錄下,這會將你的磁盤空間逐步耗盡

% stress -d 1 --hdd-noclean --hdd-bytes 13

可以支持生成大文件

% stress -d 1 --hdd-noclean --hdd-bytes 3G


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM