Linux 压测工具 stress 安装下载使用

stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户。

第一种

下载地址
http://people.seas.harvard.edu/~apw/stress/

将stress-1.0.4.tar.gz复制到“/etc/local/src/”目录下:

执行以下命令安装:

Step1 #cd /usr/local/src

Step2 #tar -xzpvf stress-1.0.4.tar.gz

Step3 #cd stress-1.0.4

Step4 #./configure

Step5 #make

Step6 #make check

Step7 #make install

Step8 #make clean

测试一下:

首先,我们在第一个终端运行 stress 命令,模拟一个 CPU 使用率 100% 的场景:

[root@centos03mm test]# stress --cpu 1 --timeout 600
stress: info: [5269] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd

接着,在第二个终端运行 uptime 查看平均负载的变化情况:

[root@centos03mm ~]#  watch -d uptime


Every 2.0s: uptime                                                          Sat Dec  1 18:34:53 2018

 18:34:53 up 29 min,  7 users,  load average: 0.99, 0.69, 0.32

最后,在第三个终端运行 mpstat 查看 CPU 使用率的变化情况:

# -P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据

[root@centos03mm ~]# mpstat -P ALL 5
Linux 2.6.32-504.el6.x86_64 (centos03mm)     12/01/2018     _x86_64_    (1 CPU)

06:35:02 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
06:35:07 PM  all   99.76    0.00    0.24    0.00    0.00    0.00    0.00    0.00    0.00
06:35:07 PM    0   99.76    0.00    0.24    0.00    0.00    0.00    0.00    0.00    0.00
 
 

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

猜你喜欢

转载自blog.csdn.net/cojn52/article/details/89680093