当前位置: 首页 > news >正文

linux系统模拟资源消耗的简单手段

当我们在做系统性能,稳定性,高可用等特殊场景的测试时,往往要对计算机的硬件资源做出比较苛刻的限制,因此需要最简便的办法增加CPU,内存,磁盘,网络等硬件环境的资源压力。下面介绍实现这些操作的最简便手段。

最好的办法是不借助外部第三方工具,有系统本身的命令或功能实现效果,linux上有一个非常简单高效的工具 stress:

从帮助文件可知,这个工具可以执行CPU负载,IO负载,内存负载,磁盘负载。

一 使用方法

-v -q -n -t 这些常规的简单参数,用户可以自己尝试使用,我们主要讲解4个负载压力相关的使用方法。

1 CPU压力

stress 消耗 CPU 资源是通过调用 sqrt 函数计算由 rand 函数产生的随机数的平方根实现。

执行:stress -v -c 6

详细显示,给CPU的6个核心增加压力。

给几个核心加压,可以根据实际硬件情况和加压力度灵活判断。

2 IO压力

消耗 IO 资源 ,每个进程都反复调用 sync 函数将内存上的内容写到硬盘上。

执行:stress -i 4

会生成4个线程,反复执行内存到硬盘的写入操作。

随着IO压力的产生,sy和wa会不断升高。

3 内存压力

内存压力有几个参数:

--vm N 生成N个进程,在malloc()/free()上交替。

--vm-bytes B 每个vm工作进程的malloc B字节(默认值为256MB)

--vm-stride B  每B字节触摸一个字节(默认值4096)不断的给部分内存赋值

--vm-hang N    空闲前睡眠N秒(默认为none,0为inf)

--vm-keep     重新分配内存,而不是释放后重新分配

执行:stress --vm 4 --vm-bytes 500M --vm-keep

创建4个进程,每个进程分配500M内存, --vm-keep使这4个进程持续占用内存,如果用 –vm-hang 则表示每个消耗内存的进程在分配到内存后转入睡眠状态 N 秒,然后释放内存,一直重复执行这个过程。

–vm-keep 和 --vm-hang 在运行时,CPU状态有区别:

–vm-keep,一直在进行默认的 stride 操作,user 非常高(cpu 在用户态忙碌)。

--vm-hang,两种状态不断切换,但整体上看 CPU 的负载并不高。

执行:stress --vm 4 --vm-bytes 500M --vm-hang 2

4 磁盘压力

 执行:stress -d 2 --hdd-bytes 10M

创建两个进程,向磁盘反复写入10M数据量的数据,但此处有一个未知,就是多磁盘环境时,写在哪个设备上。

http://www.lryc.cn/news/354560.html

相关文章:

  • 吉林大学软件工程简答题整理
  • 爬山算法介绍
  • 在linux中配置关于GFS创建各种卷以及卷组--配置实验
  • 安泰电子:使用高压放大器时有哪些需要注意的呢
  • 为什么大部分新手做抖音小店赚不到钱?
  • 跳跃游戏(2)
  • 11.Redis之zset类型
  • Python怎样将PDF拆分成多个文件
  • C语言-----前置++和后置++的不同
  • 685. 冗余连接 II
  • 自养号测评是什么?亚马逊、沃尔玛、Target卖家如何建立自己的护城河?
  • 计算机毕业设计 | SpringBoot招投标 任务发布网站(附源码)
  • element el-table表格表头某一列表头文字或者背景修改颜色
  • 移动云:连接未来的智慧之旅
  • 如何确保大模型 RAG 生成的信息是基于可靠的数据源?
  • Laravel(Lumen8) + Supervisor 实现多进程redis消息队列
  • 深度学习复盘与小实现
  • 算法刷题笔记 高精度加法(C++实现)
  • php祛除mqtt 返回数据中包含的特殊字符
  • 2024,java开发,已经炸了吗?
  • c++基础篇
  • 卫浴行业All in 智能化,国货品牌拿到了先手棋
  • 分享10个国内可以使用的GPT中文网站
  • golang实现mediasoup的tcp服务及channel通道
  • Spring:IoC容器(基于注解管理bean)
  • 如何解决Redis缓存雪崩问题?
  • vue3的组件通信v-model使用
  • 从关键新闻和最新技术看AI行业发展(2024.5.6-5.19第二十三期) |【WeThinkIn老实人报】
  • 一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!
  • YoloV8实战:复现基于多任务的YoloV8方案