linux下压力测试工具stress(cpu,内存,io)

压测工具stress

安装

压力测试

消耗 CPU 资源

stress -c 2
(使用htop或者top查看想打满几颗cpu就输入,对应数字即可)

消耗内存资源

#模拟产生2个进程,每个进程分配2个G内存
stress --vm 2 --vm-bytes 2000M --vm-keep

在这里插入图片描述
使用top可以看到,内存free减少,wa和la明显变大很多

无限制消耗 IO 资源

#产生 4 个进程,每个进程都反复调用 sync 函数将内存上的内容写到硬盘上
stress -i 4

使用iotop 或者iostat 查看io资源

指定文件大小,压测磁盘io

#创建一个进程不断的在磁盘上创建 10M 大小的文件并写入内容
stress -d 1 --hdd-bytes 10M

使用stress写入文件可能是buffer/io,导致io很大,但实际写入磁盘并不大

# 如果使用iotop发现不行io很大,但业务影响不大,则使用此dd方法测试
dd if=/dev/zero of=/root/test.dd bs=10240000 count=1000000 oflag=dsync

测试磁盘读写能力

使用time dd命令:
/dev/zero 是一个伪设备,它只产生空字符流,对它不会产生IO
/dev/null 是伪设备,相当于黑洞,of到该设备不会产生IO

#1. 纯测试磁盘写速度
    time dd if=/dev/zero of=test.dd  bs=1M count=2000  常见参考值见这个,但不太准确,因为只写入系统缓存就返回
    time  dd if=/dev/zero of=test.dd bs=64k count=16k conv=fsync 较准确
    time dd if=/dev/zero of=test.dd  bs=64k count=4k oflag=dsync  真实写入磁盘
    
# 2. 纯测试磁盘读速度
    time dd if=test.dd of=/dev/null bs=1M   /dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力
    time dd if=/dev/vda1 of=/dev/null bs=8k  测试vda1设备的读能力
    
# 3. 同时测试读写能力
	time dd if=/dev/sdb of=/testrw.dbf bs=4k

参考:

https://www.cnblogs.com/wangcp-2014/p/14153791.html
https://blog.csdn.net/zzhangsiwei/article/details/119989613
https://blog.csdn.net/A642960662/article/details/123030151

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值