制造linux下的极端系统资源消耗

原新浪博客(http://blog.sina.com.cn/billsona)搬迁至此。


前言

业务测试过程中,经常需要验证CPU耗尽、内存耗尽、磁盘占满等相对极端的情况。
如何有效的制造上述场景是工作的关键。


1.CPU占用

对于CPU利用率100%的场景,可以通过下述命令来实现:

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done

下图说明了执行该命令前后,CPU的利用情况对比:
在这里插入图片描述
测试完成后,只需要将上图中,对应COMMAND为“dd”的进程杀掉即可将系统恢复正常。
在这里插入图片描述

2. 磁盘占用

对于磁盘占用,我们也可以通过dd命令,很方便的将磁盘占满:

dd if=/dev/zero of=/testfile bs=10M count=2000

在这里插入图片描述
(1)“/dev/zero”是linux中的一个伪文件,作为输入设备,它能够提供无穷无尽的0(ASCII),这是一个用来初始化文件的好工具。

(2)testfile是自己定义个一个文件名,该文件被定义放在了“/”根目录下面。

(3)bs=10M指定了块(block size)的大小,这里也可以指定单位为K、G等;

(4)count=2000指定了写入块的数量,跟块大小一起配合,可以很容易的将指定的目录填满。

实际上,上述命令就是在指定的目录下面生成一个固定大小的文件,并用0初始化该文件。

测试结束后,将对应目录下的这个测试文件删除,即可使系统恢复正常。

3.内存占用

对于内存占用,目前没有找到特别有效的方法,大多数使用死循环等消耗内存的方法,会直接将系统卡死,起不到测试的效果,不可取。

如果测试环境是虚拟机的话,可以通过减小虚拟机内存的方式来变相的达到测试目的。测试完成后,将虚拟机内存改回正常值即可。

如各位读者有更好的方法,还望至不吝指教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值