Skip to content

Commit 9c97320

Browse files
tmp(lmbench): 添加 lmbench 测试环境配置和清理脚本
1 parent b786793 commit 9c97320

File tree

5 files changed

+106
-3
lines changed

5 files changed

+106
-3
lines changed
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
1-
Benchmark Overview
2-
===================
1+
测试简介
2+
=============
3+
4+
# 目录结构
5+
6+
```plantext
7+
8+
```
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#! /bin/bash
2+
# 测试环境清理脚本
3+
# 清理 lmbench 测试环境
4+
# Usage: ./clean_up.sh
5+
6+
# 请求 root 权限
7+
if [[ $EUID -ne 0 ]];then
8+
echo "需要root权限来运行此脚本。"
9+
echo "Please run as root."
10+
exit 1
11+
fi
12+
13+
# 清理挂载的 ext2 文件系统和临时文件
14+
if [[ -d "/ext2" ]]; then
15+
umount /ext2
16+
rm -rf /ext2
17+
fi
18+
19+
if [[ -f "./ext2.img" ]]; then
20+
rm -f ./ext2.img
21+
fi
22+
23+
24+
echo "Lmbench 测试环境已清理完成"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# lmbench 二进制文件路径前缀
2+
export LMBENCH_BIN_DIR="/lib/lmbench/bin/x86_64-linux-gnu"
3+
# 挂载的 ext2 文件系统路径
4+
export LMBENCH_EXT2_DIR="/ext2"
5+
# 临时文件存放路径
6+
export LMBENCH_TMP_DIR="/tmp"
7+
# 测试文件名
8+
export LMBENCH_TEST_FILE="test_file"
9+
export LMBENCH_ZERO_FILE="zero_file"
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
# lmbench 测试环境配置
3+
# 运行任何具体的测试脚本之前需要先运行此脚本初始化测试环境
4+
# Usage: bash init.sh
5+
6+
# 创建并挂载 ext2 文件系统到 /ext2 目录(用于 ext2_xxx 测试)
7+
create_ext2_fs(){
8+
if [[ ! -d "/ext2" ]]; then
9+
mkdir -p /ext2
10+
if [[ -f "./ext2.img" ]]; then
11+
rm -f ./ext2.img
12+
fi
13+
dd if=/dev/zero of=./ext2.img bs=1M count=1024
14+
mkfs.ext2 ./ext2.img
15+
mount -o loop ./ext2.img /ext2
16+
fi
17+
}
18+
19+
20+
# 创建测试所需的文件
21+
create_test_file() {
22+
EXT2_ZERO_FILE_PATH=${LMBENCH_EXT2_DIR}/zero_file
23+
EXT2_TEST_FILE_PATH=${LMBENCH_EXT2_DIR}/test_file
24+
TMP_ZERO_FILE_PATH=/tmp/zero_file
25+
TMP_TEST_FILE_PATH=/tmp/test_file
26+
27+
if [[ ! -f "${EXT2_ZERO_FILE_PATH}" ]]; then
28+
touch ${EXT2_ZERO_FILE_PATH}
29+
dd if=/dev/zero of=${EXT2_ZERO_FILE_PATH} bs=1M count=512
30+
echo "创建零文件 ${EXT2_ZERO_FILE_PATH} 完成"
31+
fi
32+
33+
if [[ ! -f "${EXT2_TEST_FILE_PATH}" ]]; then
34+
touch ${EXT2_TEST_FILE_PATH}
35+
dd if=/dev/zero of=${EXT2_TEST_FILE_PATH} bs=1M count=512
36+
echo "创建测试文件 ${EXT2_TEST_FILE_PATH} 完成"
37+
fi
38+
39+
if [[ ! -f "${TMP_ZERO_FILE_PATH}" ]]; then
40+
touch ${TMP_ZERO_FILE_PATH}
41+
dd if=/dev/zero of=${TMP_ZERO_FILE_PATH} bs=1M count=512
42+
echo "创建临时零文件 ${TMP_ZERO_FILE_PATH} 完成"
43+
fi
44+
45+
if [[ ! -f "${TMP_TEST_FILE_PATH}" ]]; then
46+
touch ${TMP_TEST_FILE_PATH}
47+
dd if=/dev/zero of=${TMP_TEST_FILE_PATH} bs=1M count=512
48+
echo "创建临时测试文件 ${TMP_TEST_FILE_PATH} 完成"
49+
fi
50+
}
51+
52+
# 自动请求 root 权限
53+
if [[ $EUID -ne 0 ]]; then
54+
echo "需要root权限正在自动请求"
55+
exec sudo bash "$0" "$@"
56+
exit 1
57+
fi
58+
# 加载环境变量配置
59+
source ./env.sh
60+
# 创建 ext2 文件系统和测试文件
61+
create_ext2_fs
62+
create_test_file
63+
echo "lmbench 测试环境初始化完成。"

user/apps/tests/benchmark/lmbench/test_cases/ext2_copy_files_bw.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
# Binary: lmdd
44
# Description: Copy files on ext2 filesystem bandwidth test
55

6+
67
set -e
78

89
# 检查环境变量
910

1011

1112
echo "=== Running ext2_copy_files_bw test ==="
12-
${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_EXT2_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_EXT2_DIR}/${LMBENCH_TEST_FILE}
13+
sudo ${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_EXT2_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_EXT2_DIR}/${LMBENCH_TEST_FILE}
1314

1415
echo "Test completed successfully"

0 commit comments

Comments
 (0)