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

Linux压测

目录

CPU压测

内存压测


        本文主要是编写了shell脚本,对Linux系统进行CPU和内存的压测。

CPU压测

[root@localhost ~]# cat cpu_stress_test.sh
#!/bin/bash  # 定义压测CPU的函数  
function test_cpu() {  # 初始化时间变量  local time=  # 获取参数  while getopts ":t:h" opt; do  case $opt in  t)  # 使用OPTARG而不是OPT(注意大小写)  time=$OPTARG  ;;  h)  echo "Usage: $0 -t <time>"  echo "  -t <time>  The time to test the CPU in seconds."  exit 0  ;;  \?)  echo "Invalid option: -$OPTARG" >&2  echo "Usage: $0 -t <time>"  exit 1  ;;  :)  echo "Option -$OPTARG requires an argument." >&2  echo "Usage: $0 -t <time>"  exit 1  ;;  esac  done  # 检查时间是否已设置  if [[ -z "$time" ]]; then  echo "Error: Missing -t argument."  exit 1  fi  # 转换为整数并检查是否为正数  if ! [[ "$time" =~ ^[0-9]+$ ]]; then  echo "Error: Time must be a positive integer."  exit 1  fi  # 开始压测  echo "开始压测CPU,持续时间为 $time 秒..."  # 这里可以添加实际的压测命令  # 例如:(yes "testing cpu" | md5sum) & PID=$! ...  yes "" > /dev/null 2>&1 &PID=$!sleep $timekill $PID &>/dev/null# 等待压测完成或用户中断 wait $PID &>/dev/nullecho "CPU压测已停止"  
}  # 检查是否传递了参数给脚本,如果没有,则显示帮助手册  
if [[ $# -eq 0 ]]; then  test_cpu -h  exit 0  
fi  # 调用test_cpu函数处理命令行参数  
test_cpu "$@"[root@localhost ~]# chmod +x cpu_stress_test.sh 
[root@localhost ~]# ./cpu_stress_test.sh -t 30
开始压测CPU,持续时间为 30 秒...
CPU压测已停止

内存压测

[root@localhost ~]# cat memory_stress_test.sh
#!/bin/bashdirname="/tmp/$RANDOM"cmd_help() {echo "-h : 查看帮助"echo "-m : 指定压测内存大小 单位 M G"echo "-t : 指定压测时间,默认单位是秒"echo "示例:$0 -m 1G -t 30"
}mem_test() {mkdir $dirnamemount -t tmpfs -o size=${size} tmpfs ${dirname}echo -e "\033[31m 开始进行内存压测 \033[0m "dd if=/dev/zero of=${dirname}/${RANDOM} bs=${size} count=1 &>/dev/nullsleep $time
}mem_clean() {echo -e "\033[31m 压测结束,清理内存 \033[0m "rm -rf ${dirname}/*umount ${dirname}rm -rf ${dirname}
}if [ "$#" -eq 0 ];then cmd_helpexit 1
fi while getopts hm:t: opt; docase "${opt}" inh)cmd_help;;m)size=${OPTARG};;t)time=${OPTARG};;*)echo "Unknown option: ${opt}"echo "Please use: $0 -h";;esac
donemem_test
mem_clean[root@localhost ~]# chmod +x memory_stress_test.sh
[root@localhost ~]# ./memory_stress_test.sh -m 1G -t 30开始进行内存压测  压测结束,清理内存  

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

相关文章:

  • Linux如何远程连接服务器?
  • Java 应用部署与优化:简单介绍Java应用的部署策略,并讲解一些常用的Java应用性能优化技巧
  • cudart link错误自动修复脚本
  • 个人笔记-随意记录
  • Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程
  • JavaDS-学习数据结构之如果从零开始手搓顺序表,顺带学习自定义异常怎么用!
  • 汽车IVI中控开发入门及进阶(二十三):i.MX8
  • HarmonyOS(29)onMeasureSize和PlaceChildren (View的测量和布局)
  • 如何管理和维护组件库?
  • 使用Python和wxPython将PNG文件转换为JPEG文件
  • spark的简单学习二
  • 测试文章27-这是一篇测试文章请忽略
  • 卡方分布和 Zipf 分布模拟及 Seaborn 可视化教程
  • 音视频开发13 FFmpeg 音频 相关格式分析 -- AAC ADTS格式分析
  • 周三晚19:00 | 数据资源入表案例拆解,他们如何应对入表难点?
  • 树的知识总结
  • 工业安全智勇较量,赛宁网安工业靶场决胜工业网络攻防对抗新战场
  • 一种一维时间序列信号的广义小波变换方法(MATLAB)
  • 【GIC400】——驱动代码实现
  • 如何在 Vue 组件中正确地使用 data 函数?
  • .Net 基于MiniExcel的导入功能接口示例
  • 流量焦虑?别担心,Xinstall一站式App推广解决方案来了!
  • 降薪潮要开始了么?
  • 网络服务DHCP的安装
  • SELinux:安全增强型Linux
  • .NET Redis限制接口请求频率 滑动窗口算法
  • Java List数据结构与常用方法
  • Docker搭建redis-cluster集群
  • 实验室类管理平台LIMS系统的ui设计实例
  • <PLC><西门子><工控>西门子博图V18中使用SCL语言编写一个CRC16-modbus校验程序