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

2024-05-27 16:12

本文主要是介绍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数据量的数据,但此处有一个未知,就是多磁盘环境时,写在哪个设备上。

这篇关于linux系统模拟资源消耗的简单手段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007957

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red