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

iozone的下载编译测试

下载和编译

点击查看代码
#!/bin/bash
#set -euo pipefail  # 严格模式:遇到错误立即退出、未定义变量报错、管道失败触发退出
if ! command -v wget >/dev/null 2>&1; thenecho "安装wget..."sudo apt update && sudo apt install -y wget
fi
if ! command -v make >/dev/null 2>&1; thenecho "安装make..."sudo apt update && sudo apt install -y make
fi
# ===================== 配置项 =====================DOWNLOAD_URL="http://www.iozone.org/src/current/"    # 目标文件URL
IOZONE_NAME="iozone3_508.tar"                        # iozone文件全名
TAR_IOZONE_NAME="iozone3_508"                        # 解压后iozone文件夹全名
DOWNLOAD_ADDRESS="${DOWNLOAD_URL}${IOZONE_NAME}"     # 最终下载地址
SAVE_PATH="./downloads"                              # 保存目录
RETRY_TIMES=5                                        # 重试次数
TIMEOUT=30                                           # 超时时间(秒)
LOG_FILE="./download.log"                            # 日志文件路径
MAKE_LOG="./make_log"                                # make日志                                               
downloads_iozone(){echo "开始下载:${DOWNLOAD_ADDRESS} -> ${SAVE_PATH}/${IOZONE_NAME}"# 2.2.1 执行wget下载(带核心保障参数)# -c 断点续传# --timeout 重试次数wget -c \--tries="${RETRY_TIMES}" \--timeout="${TIMEOUT}" \"${DOWNLOAD_ADDRESS}" \>> "${LOG_FILE}" 2>&1# 2.2.2 检查wget执行状态(核心:$? 是上一条命令的退出码,0=成功)if [ $? -ne 0 ]; thenecho "ERROR: 下载失败!查看日志:${LOG_FILE}"exit 1fi# 2.2.3 最终验证:文件是否存在且非空if [ ! -f "${IOZONE_NAME}" ] || [ ! -s "${IOZONE_NAME}" ]; thenecho "ERROR: 下载的文件为空或不存在!"exit 1fiecho "SUCCESS: 文件已成功下载到 ${SAVE_PATH}/${IOZONE_NAME}"
}
tar_iozone(){ # 3.解压程序echo "开始解压:${IOZONE_NAME} -> ${SAVE_PATH}"tar -xvf "${IOZONE_NAME}" >> "${LOG_FILE}" 2>&1if [ $? -ne 0 ]; thenecho "ERROR: 解压失败!查看日志:${LOG_FILE}"exit 1fiecho "解压成功:${IOZONE_NAME} -> ${SAVE_PATH}"cd "${TAR_IOZONE_NAME}/src/current" || { echo "ERROR: 无法进入目录 ${TAR_IOZONE_NAME}/src/  current"; exit 1; }echo "正在编译iozone!!!"# 4.编译make linux >> "${MAKE_LOG}" 2>&1if [ $? -ne 0 ]; thenecho "ERROR: 编译失败!查看日志:${MAKE_LOG}"exit 1fiecho "编译完成!!!"
}
# 1. 创建保存目录(不存在则创建)
mkdir -p "${SAVE_PATH}" || { echo "ERROR: 无法创建目录 ${SAVE_PATH}"; exit 1; }# 2.判断是否已经下载
# 2.1进入保存目录
cd "${SAVE_PATH}" || { echo "ERROR: 无法进入目录 ${SAVE_PATH}"; exit 1; }
# 2.2检验文件不存在则下载
if [ ! -f "${IOZONE_NAME}" ]; then# ==================================================downloads_iozonetar_iozone
# 2.3检验文件存在但为空,删除后继续下载
elif [ ! -s "${IOZONE_NAME}" ]; thenecho "ERROR: 文件为空,正在删除!!!"rm "${IOZONE_NAME}" || { echo "ERROR: 无法删除文件 ${IOZONE_NAME}"; exit 1; }downloads_iozonetar_iozone
#文件存在
elseecho "INFO: 下载的文件已存在,如需重新下载,请将源文件删除!!!"tar_iozone  
fi

测试0.5倍内存 内存获取模块可以修改,仅供参考

点击查看代码
#!/bin/bash
#set -euo pipefail  # 严格模式:遇到错误立即退出、未定义变量报错、管道失败触发退出
mem_total=$(grep MemTotal /proc/meminfo | awk '{printf "%d", ($2/1024/1024)+1}')
test_mem=`expr ${mem_total} / 2`
int=1
results="./downloads/iozone3_508/src/current/report/"
# 按下Ctrl+C则退出
cleanup() {echo -e "\n📢 脚本退出(原因:$1)"exit 0
}
trap 'cleanup "Ctrl+C/SIGINT"' SIGINT #检测用户是否按下Ctrl+C
mkdir -p "${results}" || { echo "ERROR: 无法创建目录 ${results}"; exit 1; }
while(( $int<=3 ))
doecho "==========开始第${int}轮测试=========="./downloads/iozone3_508/src/current/iozone -i 0 -i 1 -i 2 -s ${test_mem}g -r 16m -f /iozone.tmpfile -Rb ${results}iotest_${test_mem}g_${int}.xls 2> "${results}test.log"if [ $? -ne 0 ]; thenecho "ERROR: 测试失败!查看日志:${results}test.log"exit 1fiecho "SUCCESS: 测试成功!查看结果:${results}iotest_${test_mem}g_${int}.xls"let "int++"
done
exit 0

测试1倍内存 内存获取模块可以修改,仅供参考

点击查看代码
#!/bin/bash
#set -euo pipefail  # 严格模式:遇到错误立即退出、未定义变量报错、管道失败触发退出
mem_total=$(grep MemTotal /proc/meminfo | awk '{printf "%d", ($2/1024/1024)+1}')
test_mem=`expr ${mem_total} / 1`
int=1
results="./downloads/iozone3_508/src/current/report/"
# 按下Ctrl+C则退出
cleanup() {echo -e "\n📢 脚本退出(原因:$1)"exit 0
}
trap 'cleanup "Ctrl+C/SIGINT"' SIGINT #检测用户是否按下Ctrl+C
mkdir -p "${results}" || { echo "ERROR: 无法创建目录 ${results}"; exit 1; }
while(( $int<=3 ))
doecho "==========开始第${int}轮测试=========="./downloads/iozone3_508/src/current/iozone -i 0 -i 1 -i 2 -s ${test_mem}g -r 16m -f /iozone.tmpfile -Rb ${results}iotest_${test_mem}g_${int}.xls 2> "${results}test.log"if [ $? -ne 0 ]; thenecho "ERROR: 测试失败!查看日志:${results}test.log"exit 1fiecho "SUCCESS: 测试成功!查看结果:${results}iotest_${test_mem}g_${int}.xls"let "int++"
done
exit 0

测试2倍内存 内存获取模块可以修改,仅供参考

点击查看代码
#!/bin/bash
#set -euo pipefail  # 严格模式:遇到错误立即退出、未定义变量报错、管道失败触发退出
mem_total=$(grep MemTotal /proc/meminfo | awk '{printf "%d", ($2/1024/1024)+1}')
test_mem=`expr ${mem_total} \* 2`
int=1
results="./downloads/iozone3_508/src/current/report/"
# 按下Ctrl+C则退出
cleanup() {echo -e "\n📢 脚本退出(原因:$1)"exit 0
}
trap 'cleanup "Ctrl+C/SIGINT"' SIGINT #检测用户是否按下Ctrl+C
mkdir -p "${results}" || { echo "ERROR: 无法创建目录 ${results}"; exit 1; }
while(( $int<=3 ))
doecho "==========开始第${int}轮测试=========="./downloads/iozone3_508/src/current/iozone -i 0 -i 1 -i 2 -s ${test_mem}g -r 16m -f /iozone.tmpfile -Rb ${results}iotest_${test_mem}g_${int}.xls 2> "${results}test.log"if [ $? -ne 0 ]; thenecho "ERROR: 测试失败!查看日志:${results}test.log"exit 1fiecho "SUCCESS: 测试成功!查看结果:${results}iotest_${test_mem}g_${int}.xls"let "int++"
done
exit 0``
http://www.zskr.cn/news/78810.html

相关文章:

  • 2025年北京连锁餐饮神秘顾客公司权威推荐榜单:饮品店暗访‌/食品安全暗访‌/酒店餐饮神秘顾客源头公司精选
  • 2025 年 12 月压铸机厂家权威推荐榜:力劲/伊之密/锌合金/铝合金/热室/冷室二手压铸机买卖回收,实力甄选与高效方案解析
  • 2025 年 12 月镁碳砖厂家权威推荐榜:钢包/转炉/电炉专用耐火材料,高耐用性与热震稳定性深度解析
  • 2025香港留学机构排名哪家口碑
  • 2025年萧山服务好的GEO品牌找哪家,短视频矩阵/GEO优化服务/广告全案策划、制作、发布/GEO优化AI工具排名GEO实力厂家怎么选择
  • 2025年南京高性价比包装盒厂家选择指南:有信誉的包装盒供应
  • 2025年上海口碑好的全屋定制全案木作公司推荐:看哪家工艺水
  • 关于python-基础-字典的for遍历-得到key与value
  • 2025 年 12 月燕窝品牌权威推荐榜:溯源码燕窝/干燕窝/燕窝衍生品/浓鲜燕窝/燕窝年礼,甄选滋补臻品与匠心美食之选
  • 打破信息差上海宝藏留学中介全曝光
  • 上海十大美国留学中介机构排行榜
  • 2025年高质量的台面导轨二次元测量仪有哪些?
  • 2025年五大AI搜索获客服务公司推荐,贸易/招商/教育行业
  • 惠州老年公寓选哪家?养老院哪家口碑好?
  • 2025 年 12 月东莞铁盒厂家权威推荐榜:匠心工艺与定制实力兼具的铁盒工厂/供应厂家深度解析
  • 2025年AI平台品牌曝光企业推荐,有实力的AI平台品牌曝光
  • 2025上海留学中介机构排名
  • 2025上海留学中介强烈推荐
  • 2025上海留学中介十大排名按最新排名
  • 2025年度上海知识产权保护/刑事辩护/债务清收律师事务所排
  • 2025年上海混料机厂商年度排名:5大靠谱混料机定制供应商推
  • 2025年度净化板服务商TOP5权威推荐,甄选企业助力洁净工
  • 2025折弯机无压痕模选购参考榜
  • 2025 家装衣柜选购指南:6 大品牌推荐,环保收纳与美学兼具
  • 2025年瑞士马格MAAG齿轮泵NP28/28代理商权威推荐榜单:MAAG齿轮泵NP45/45‌/MAAG齿轮泵‌/瑞士马格MAAG齿轮泵‌‌源头代理商精选
  • 在河北省邢台市襄都区老家农村盖房子,靠谱的自建房公司口碑推荐。河北省邢台市襄都区自建房公司/机构权威测评推荐排行榜
  • 2025年机械/空调/航空用温度传感器五大推荐公司,工业测温
  • 2025年双羽电阻认证厂家/实力厂家/定制生产企业十大排行榜
  • 2025年上海评价高、售后完善、诚信装修装饰品牌及设计公司排
  • 2026年角度头轴承厂家推荐 侧铣头轴承/动力头/动力刀座轴承/精度高/转速快/使用寿命长