CPU 测试脚本

news/2025/9/28 18:27:35/文章来源:https://www.cnblogs.com/commsqlplus/p/19117360

CPU 测试脚本

Posted on 2025-09-28 18:23  大势趋007  阅读(0)  评论(1)    收藏  举报
#!/bin/bash# 冒泡排序算法测试 - CPU负载测试
# 兼容旧版本Bashbubble_sort() {local array_name=$1eval "local array=(\"\${${array_name}[@]}\")"local n=${#array[@]}for ((i = 0; i < n-1; i++)); dofor ((j = 0; j < n-i-1; j++)); doif [ ${array[j]} -gt ${array[j+1]} ]; then# 交换元素local temp=${array[j]}array[j]=${array[j+1]}array[j+1]=$tempfidonedone# 将排序后的数组赋值回原变量eval "${array_name}=(\"\${array[@]}\")"
}# 生成随机数组
generate_random_array() {local size=$1local array=()for ((i=0; i<size; i++)); doarray[i]=$((RANDOM % 10000))done# 返回数组元素echo "${array[@]}"
}# 主测试函数
run_test() {local array_size=${1:-1000}  # 默认数组大小,降低以避免过长时间local iterations=${2:-5}     # 默认迭代次数echo "=== Bash冒泡排序CPU负载测试 ==="echo "数组大小: $array_size"echo "迭代次数: $iterations"echo "开始时间: $(date)"echo "--------------------------------"local total_time=0for ((iter=1; iter<=iterations; iter++)); doecho -n "第 $iter 次迭代..."# 生成新数组local test_arraytest_array=($(generate_random_array $array_size))# 计时开始local start_time=$(date +%s)# 执行排序bubble_sort test_array# 计时结束local end_time=$(date +%s)local duration=$((end_time - start_time))echo " 完成 - 耗时: ${duration}秒"total_time=$((total_time + duration))# 小延迟,避免过热sleep 1doneecho "--------------------------------"echo "总耗时: ${total_time}秒"echo "平均耗时: $((total_time / iterations))秒"echo "结束时间: $(date)"echo "测试完成!"
}# 极简版本 - 如果上述仍有问题
simple_bubble_test() {echo "=== 极简冒泡排序测试 ==="echo "开始时间: $(date)"# 创建一个小数组进行测试arr=(5 3 8 4 2 9 1 7 6)echo "原始数组: ${arr[@]}"# 冒泡排序n=${#arr[@]}for ((i = 0; i < n-1; i++)); dofor ((j = 0; j < n-i-1; j++)); doif [ ${arr[j]} -gt ${arr[j+1]} ]; thentemp=${arr[j]}arr[j]=${arr[j+1]}arr[j+1]=$tempfidonedoneecho "排序后数组: ${arr[@]}"echo "结束时间: $(date)"
}# 检查Bash版本
check_bash_version() {local bash_version=${BASH_VERSION%%[^0-9.]*}echo "当前Bash版本: $bash_version"if [ $(echo "$bash_version >= 4.3" | bc -l 2>/dev/null) -eq 1 ]; thenecho "Bash版本支持高级特性"return 0elseecho "Bash版本较旧,使用兼容模式"return 1fi
}# 显示使用信息
show_usage() {echo "用法: $0 [选项]"echo "选项:"echo "  normal [大小] [次数]  正常测试模式"echo "  simple                极简测试模式"echo "  check                 检查Bash版本"echo "  help                  显示此帮助"echo ""echo "示例:"echo "  $0 normal 500 3       # 500元素, 3次迭代"echo "  $0 simple             # 极简测试"
}# 主程序
main() {case "$1" in"normal")if check_bash_version; thenrun_test "$2" "$3"else# 如果版本检查失败,使用更保守的参数run_test "${2:-500}" "${3:-3}"fi;;"simple")simple_bubble_test;;"check")check_bash_version;;"help"|"-h"|"--help")show_usage;;*)echo "使用默认参数运行测试..."if check_bash_version; thenrun_testelserun_test 500 3fi;;esac
}# 运行主程序
main "$@"

5add02c3-c5fa-4a91-ad07-8066f477f2bf

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day23static详解

static修饰德成员变量,属于类的本身,被该类德所有实例共享,在类中可以通过类名直接访问,再导入包时打破必须通过类名访问静态成员的规则,将指定的静态成员直接引入当前类的作用域 package oop1.Demo7; //被fianl定…

11.prometheus监控之黑盒(blackbox)监控

一、黑盒监控"白盒监控"--需要把对应的Exporter程序安装到被监控的目标主机上,从而实现对主机各种资源及其状态的数据采集工作。但是由于某些情况下操作技术或其他原因,不是所有的Exporter都能部署到被监控…

网站访问量有什么用网站开发代码用什么软件

重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表&#xff0c;找到两个IE11的更新&#xff08;见下图“卸载文件“&#xff09;并卸载掉&#xff0c;这样windows功能中的ie11才会变成ie8. 打开控制面板 进入面板&#xff0c;点击程序&#xff0c;进…

自己做的网站怎么接入数据库嘉兴企业网站推广方法

配置IPsec on GRE Tunnel with IOS Firewall and NAT<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />详细配置见附件

openssh升级

openssh升级## 功能```支持centos7.5升级openssh9.8``` ## 备份```/etc/pam.d/sshd/etc/ssh/sshd_config```## 物料```openssh.repoopenssh.tar.gz ```----```[openssh]name=openssh9.8baseurl=file:///openssh/gpgche…

实用指南:月匣 - 百度推出的AI情感陪伴与剧情互动应用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

电子商务网站的建设与维护企业网站内容如何更新

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.字符指针 2.指针数组 3.数组指针 4.数组传…

做纸巾定制的网站广告设计宣传画册

一、 选题的依据及意义 随着信息化技术的发展&#xff0c;敬老院的信息化管理也迎来了机遇和挑战&#xff0c;我们积极应对这场战斗&#xff0c;丝毫不懈怠。因为&#xff0c;在未来的互联网是一个开放的环境&#xff0c;而传统的管理是一个独立的对象维护和医疗管理模式&…

宜昌的网站建设wordpress菜单出不来

在制作项目的时候遇到一个需求&#xff0c;点击一个按钮弹出一个input输入框&#xff0c;并让输入框获得焦点&#xff0c;项目中引用了element-ui 在网上查找了很多方法&#xff0c;但是在实际使用中发现了一个问题无论是使用$ref获取input元素然后使用focus方法还是使用饿了么…

Python虚拟环境及创建和使用虚拟环境(Python3)

一、什么是Python虚拟环境 简单说,虚拟环境是一个独立的 Python 运行环境,它与系统全局的 Python 环境完全隔离。每个虚拟环境可以有自己独立的 Python 解释器版本(如果需要)。 每个虚拟环境中安装的第三方库(如 …

团队协作必备:16款在线协同编辑文档方案对比

为解决企业在线协同编辑文档的选型难题,本文深度评测了含坚果云在内的16款主流工具。文章从协作办公、数据安全与功能特色等多维度进行全面对比分析,旨在为不同需求的企业提供实用选型指南,帮助团队找到最合适的协同…

石材企业网站源码自创图片软件

文章目录 了解操作系统定义目的操作系统体系结构功能特征操作系统的区别(64位与32位)操作系统的地址内存管理缓存 了解操作系统 定义 操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件 目的 方便性,有效性(提高系统资源的利用率,提高系统的吞吐量) 操作系统体…

变电站、开闭所、环网柜、配电站

1、概念变电站:“区域总电源”,把高压电(如 220kV)变成 10kV,是所有下游设备的电来源;开闭所:“10kV 中转站”,把变电站来的 10kV 电分给周边的环网柜和配电站;环网柜:“10kV 小节点”,给配电站分支供电,还…

IDEA大幅度提升编译速度配置 - 指南

IDEA大幅度提升编译速度配置 - 指南2025-09-28 18:15 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

免费只做网站公司装修工程

《死锁实验报告》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《死锁实验报告(3页珍藏版)》请在人人文库网上搜索。1、操作系统实验二报告一实验名称&#xff1a;死锁的检测与解除二实验目的&#xff1a;观察死锁产生的条件&#xff0c;并使用适当的算法&#xff0c;…

网站建设入账哪个科目湛江人才网

事务原理 1 事务基础 1). 事务 事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 2). 特性 原子性&#xff08;Atomi…

为AI注入灵魂:一种面向人机黑箱的元人文治理新范

为AI注入灵魂:一种面向人机黑箱的元人文治理新范式 在人工智能治理领域,我们正面临一个根本性的范式转移:挑战从纯粹的“技术黑箱”转向更为复杂的 “人机混合黑箱” 。当人类偏好、算法决策与社会环境相互缠绕,传…

2025年5款主流服务管理工具大盘点!总有一款最值得你选! - RAIN

2025年5款主流服务管理工具大盘点!总有一款最值得你选!一、开篇:数字化时代,服务管理已成企业 “刚需配置”​ 在当今数字化转型已成为企业核心战略的背景下,“服务能力”正逐渐演变为决定竞争力的关键因素。然而…

2025.9.28——1黄

普及/提高- P5194 [USACO05DEC] Scales S wpmx说自己没看清题卡了很久的简单dfs题,试着做了一下,难点在于倒着dfs,这是一个重要剪枝。

聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾

2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心…