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中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构