迪克猪的博客
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

stress性能工具使用

安装


yum install -y epel-release
yum install stress -y

在centos系统下,不能安装,则按照如下方法进行:

https://github.com/ColinIanKing/stress-ng.git 直接 clone ,然后 make -j4

参数说明


-?

--help 显示帮助信息

--version 显示软件版本信息

-t secs:

--timeout secs指定运行多少秒

--backoff usecs 等待usecs微秒后才开始运行

-c forks:

--cpu forks 产生多个处理sqrt()函数的CPU进程

-m forks

--vm forks:产生多个处理malloc()内存分配

-i forks

--io forks:产生多个处理sync()函数的磁盘I/O进程

--vm-bytes bytes:指定内存的byte数,默认值是1

--vm-hang:表示malloc分配的内存多少时间后在free()释放掉

-d :

--hdd:写进程,写入固定大小,通过mkstemp()函数写入当前目录

--hdd-bytes bytes:指定写的byte数,默认1G

--hdd-noclean:不要将写入随机ascii数据的文件unlink,则写入的文件不删除,会保留在硬盘空间。

测试场景

stress -c 4

增加4个cpu进程,处理sqrt()函数函数,以提高系统CPU负荷

zsy@ubuntu:~$ stress -c 4
stress: info: [7775] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd

内存测试

stress –i 4 –vm 10 –vm-bytes 1G –vm-hang 100 –timeout 100s

新增4个io进程,10个内存分配进程,每次分配大小1G,分配后不释放,测试100S

zsy@ubuntu:~$ stress --io 4 --vm 2 --vm-bytes 1G --vm-hang 100 --timeout 100s
stress: info: [8979] dispatching hogs: 0 cpu, 4 io, 2 vm, 0 hdd
stress: info: [8979] successful run completed in 100s

磁盘I/O测试

stress –d 1 –hdd-bytes 3G

新增1个写进程,每次写3G文件块

输入命令:stress –i 1 –d 10 –hdd-bytes 3G –hdd-noclean

新增1个IO进程,10个写进程,每次写入3G文件块,且不清除,会逐步将硬盘耗尽。

zsy@ubuntu:~$ stress -d 1 --hdd-bytes 3G
stress: info: [9437] dispatching hogs: 0 cpu, 0 io, 0 vm, 1 hdd