一、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