BurnInTest — 硬件压力测试工具操作指南
1. 概述
BurnInTest 是 PassMark Software 开发的工业级硬件压力测试工具,通过同时对 CPU、内存、硬盘、网络等关键子系统施加可控负载,帮助检测间歇性故障、早期硬件缺陷,并验证系统在极限条件下的稳定性。广泛应用于服务器制造 QA、维修诊断、老化测试和超频验证。
核心能力
| 子系统 | 测试内容 |
|---|---|
| CPU | 整数/浮点运算、SIMD 指令集 (MMX/SSE/SSE2/SSE3/SSE4)、素数计算 |
| 内存 (DIMM) | 多模式数据校验 (序列/二进制/全0/全1)、动态内存获取 |
| 硬盘 (HDD/SSD/NVMe) | 读写验证、随机寻道、RAW 裸盘测试、最多 20 块盘并发 |
| 网络 | ICMP Ping 连通性测试、最多 6 个远程地址、多网卡绑定 |
| 2D/3D 图形 (GUI) | OpenGL 渲染、显存测试、线条/位图 |
| USB | USB 2.0/3.0 回路插头测试、速度基准测试 |
| 串口/并口 | 回路测试、波特率检测 |
版本说明
| 版本 | 说明 |
|---|---|
| V3.2 (本地) | 本地现有的稳定版本,支持 CLI/GUI 双模式,已内置许可证激活脚本 |
| V5.0+ (最新) | 增加高级网络测试、多实例内存测试、电池/温度图表、OpenCL GPU 测试 |
免费试用限制:未注册版本每次运行最长 15 分钟。V3.2 已包含激活脚本 (
ins_bitv3.sh),无需额外购买。
2. 如何下载 BurnInTest
2.1 官方下载
官网地址:https://www.passmark.com/products/bitlinux/download.php
下载步骤:
- 访问 PassMark 官网下载页面
- 选择对应的架构版本(x86-64 或 ARM64)
- 填写注册信息后下载
bitlinux.tar.gz压缩包 - 同时收到试用许可证密钥
2.2 本地下载
内部网络共享路径已有 BurnInTest 安装包。
路径一 (部署软件):
路径二 (测试软体):
提示:点击按钮将打开网络文件夹,点击即可下载
| 路径 | 说明 |
|---|---|
\\10.99.184.127\Structure\Test Software\测试软体及脚本\Linux test software\BurnIn Test\V3.2 |
BurnInTest V3.2 部署包 (含激活脚本) |
V3.2/workaround_for_rhel/ |
RHEL/CentOS 适配脚本目录 |
V3.2/bitlinux.tar/burnintest/ |
解压后的程序主目录 |
\\10.99.184.127\...\Linux test software\BurnInTest |
测试软体共享路径 |
3. 如何安装 BurnInTest
3.1 解压安装包
# 解压 tar 包
tar -xf bitlinux.tar
cd burnintest/
ls -la
解压后目录结构:
burnintest/
├── burnintest.sh # 启动脚本 (自动识别 32/64 位)
├── 32bit/
│ ├── bit_cmd_line_x32 # 32 位命令行版
│ ├── bit_gui_x32 # 32 位 GUI 版
│ └── cmdline_config.txt # 命令行配置文件
├── 64bit/
│ ├── bit_cmd_line_x64 # 64 位命令行版
│ ├── bit_gui_x64 # 64 位 GUI 版
│ └── cmdline_config.txt # 命令行配置文件
├── help/ # HTML 帮助文档
├── BITErrorClassification.txt # 错误分类定义 (272 种)
├── BITCertificateTemplate.html
└── BurnInTest_Linux_CLI_EULA.txt
3.2 激活许可证 ★
V3.2 自带许可证激活脚本 (ins_bitv3.sh),位于 workaround_for_rhel 目录中:
# 进入 workaround_for_rhel 目录
cd workaround_for_rhel/
# 赋予执行权限
chmod -R 777 .
# 执行激活脚本
./ins_bitv3.sh
★ 必须先执行
ins_bitv3.sh激活许可证,否则 BurnInTest 只能运行 15 分钟。
3.3 赋予程序执行权限
# 返回 burnintest 主目录
cd ../burnintest/
# 赋予全部执行权限
chmod -R 777 .
3.4 安装依赖库
GUI 版本需要图形库支持:
# RHEL / CentOS
yum install -y gtk2 libstdc++ ncurses-libs
# Debian / Ubuntu
apt-get install -y libgtk2.0-0 libstdc++6 libncurses5
命令行版本只需 ncurses,将依赖降到最低:
# RHEL / CentOS
yum install -y ncurses-libs
# Debian / Ubuntu
apt-get install -y libncurses5
★ 服务器环境推荐使用命令行版本 (
bit_cmd_line_x64),无需安装 X11/GTK 等图形库,依赖更少。
3.5 验证安装
# 检查可执行文件是否可用 (以 64 位为例)
chmod +x 64bit/bit_cmd_line_x64
# 检查缺失的动态库
ldd 64bit/bit_cmd_line_x64 | grep "not found"
# 打印版本信息
./64bit/bit_cmd_line_x64 -v
使用启动脚本自动检测系统架构并检查依赖:
./burnintest.sh
4. 如何操作 BurnInTest 进行压力测试
4.1 启动方式
BurnInTest 提供两种操作模式:
| 模式 | 可执行文件 | 适用场景 |
|---|---|---|
| GUI 图形界面 | bit_gui_x64 / burnintest.sh |
交互式操作,需要 X11 环境 |
| CLI 命令行 | bit_cmd_line_x64 |
自动化/远程/无图形环境,使用 ncurses 显示 |
GUI 启动:
# 使用启动脚本 (推荐,自动检测 32/64 位)
./burnintest.sh
# 或直接启动 64 位 GUI
./64bit/bit_gui_x64
操作流程:勾选测试类型 → 设置 Duty Cycles → 配置参数 → 点击 Go 开始。
CLI 启动:
# 使用默认配置启动
./64bit/bit_cmd_line_x64
# 使用指定配置文件,运行指定时长
./64bit/bit_cmd_line_x64 -C 64bit/cmdline_config.txt -D 60
# 运行指定周期数后停止
./64bit/bit_cmd_line_x64 -C 64bit/cmdline_config.txt -X 10
CLI 界面使用数字键 1-9 切换测试信息页面,Esc 退出。
4.2 测试前准备 ★
根据 Ali 服务器压测 SOP,每次测试前需完成以下准备:
# 1. 清除之前的 BMC SEL 日志 (避免历史错误干扰判断)
ipmitool sel clear
# 2. 启动 MCE 日志监控守护进程
mce -daemon
# 3. 挂载测试用 HDD/NVMe 磁盘
# 格式化 (如需要)
mkfs.ext4 /dev/sdb
# 挂载
mkdir -p /mnt/test_disk
mount /dev/sdb /mnt/test_disk
# 4. 如使用 Aliflash NVMe SSD
mkfs.ext4 /dev/dfa
mkdir -p /root/Desktop/dfa
mount /dev/dfa /root/Desktop/dfa
# 5. 确认所有测试磁盘已挂载
df -h
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
4.3 CPU 压力测试 ★
测试选项
CPU 测试同时运行在每个 CPU 核心上,执行以下子测试:
| 子测试 | 配置关键字 | 说明 |
|---|---|---|
| General (通用整数) | General |
整数加减乘除、栈操作、位逻辑、移位、跳转、字符串指令 |
| FPU (浮点) | FPU |
x87 浮点运算、三角函数 (sin/cos) |
| SSE | SSE |
128 位 SIMD 浮点运算 (4×32-bit floats) |
| SSE2 | SSE2 |
128 位 SIMD 双精度运算 (2×64-bit floats) |
| Prime (素数) | Prime |
素数生成算法,验证 CPU 长时间运算正确性 |
配置文件示例 (CPU-only)
## CPU 压力测试专属配置
<Logging>
LogFilename /tmp/
LogPrefix BiT_CPU
Format Ascii
LogDetailLevel normal
TraceLevel 0
MaxFileLines 1000
LogMode ClearAppend
</Logging>
<DutyCycles>
AutoStopMinutes 60
AutoStopCycles 0
CPU 100
Memory 0
Disk 0
Network 0
</DutyCycles>
<CPU>
General
FPU
SSE
SSE2
Prime
</CPU>
<Errors>
ActionOnError Continue
</Errors>
启动命令
# 保存上述配置为 cpu_test.txt,运行 60 分钟
./64bit/bit_cmd_line_x64 -C cpu_test.txt -D 60
# 无限运行直到手动停止
./64bit/bit_cmd_line_x64 -C cpu_test.txt -D 0
测试验证
# 查看 CPU 信息
cat /proc/cpuinfo
# 通过 top/htop 确认所有核心满载
top -n 1
# 检查 CPU 温度 (需要 lm-sensors)
sensors
通过标准:CPU 测试窗口中 Operations 计数持续增长,Errors 保持为 0,系统无挂起或 kernel panic。
4.4 DIMM (内存) 压力测试 ★
测试原理
BurnInTest 动态获取系统中未被占用的空闲内存,写入特定数据模式后回读验证。测试循环分为三步:
- 内存分配 — 动态获取当前空闲内存
- 写入数据模式 — 将模式数据写入分配的内存区域
- 验证数据模式 — 回读并比对,不匹配则报错
测试模式
| 模式 | 配置关键字 | 说明 |
|---|---|---|
| Cycle (循环) | Cycle |
自动循环切换以下全部模式 |
| Sequence (序列) | Sequence |
0,1,2...255 递增值 |
| Binary 1 (二进制1) | Binary1 |
10101010 |
| Binary 2 (二进制2) | Binary2 |
01010101 |
| Zeros (全零) | Zeros |
00000000 |
| Ones (全一) | Ones |
11111111 |
配置文件示例 (Memory-only)
## 内存压力测试专属配置
<Logging>
LogFilename /tmp/
LogPrefix BiT_MEM
Format Ascii
LogDetailLevel normal
TraceLevel 0
MaxFileLines 1000
LogMode ClearAppend
</Logging>
<DutyCycles>
AutoStopMinutes 120
AutoStopCycles 0
CPU 0
Memory 100
Disk 0
Network 0
</DutyCycles>
<Memory>
Cycle
</Memory>
<Errors>
ActionOnError Stop
</Errors>
★ 建议将
ActionOnError设为Stop,因为内存错误通常意味着硬件问题,应立即停止排查。
启动命令
# 保存上述配置为 mem_test.txt,运行 2 小时
./64bit/bit_cmd_line_x64 -C mem_test.txt -D 120
测试验证
# 查看内存信息
free -h
# 查看详细内存信息
cat /proc/meminfo
# 监控内存错误 (EDAC)
dmesg | grep -i "edac\|memory\|mce"
通过标准:Errors 保持为 0,无 ECC 错误报告,系统无 OOM 或崩溃。
注意:内存测试无法覆盖 100% 的物理 RAM(操作系统和运行中的应用占用部分内存),部分内存故障可能表现为系统崩溃或磁盘错误而非 BurnInTest 直接报错。
4.5 HDD (硬盘) 压力测试 ★
测试原理
BurnInTest 在目标磁盘/分区上创建测试文件,写入特定数据模式,然后回读验证。同时支持分区测试(文件系统)和 RAW 测试(裸盘,绕过文件系统)。
测试模式
| 模式 | 配置关键字 | 说明 |
|---|---|---|
| Cyclic (默认循环) | Cyclic |
顺序 + 随机组合 |
| Sequential (顺序) | Sequential |
0,1,2...255 顺序写入 |
| HighLow (高低频) | HighLow |
先写高频 101010...,覆盖写低频 000010...,验证 |
| Binary 1 (二进制1) | Binary1 |
10101010 |
| Binary 2 (二进制2) | Binary2 |
01010101 |
| Zeros (全零) | Zeros |
00000000 |
| Ones (全一) | Ones |
11111111 |
| Random (随机) | Random |
随机数据模式 |
| RandomSeeking (随机寻道) | RandomSeeking |
7 个随机数据块 + 随机位置读写 |
分区测试 vs RAW 测试
| 参数 | 说明 |
|---|---|
Device /dev/sda1 |
测试已挂载分区 (需 ext2/3/4, xfs, vfat, ntfs) |
Device /dev/sdc |
RAW 裸盘测试 (无分区表,直接块设备) |
TestAllDisks |
自动测试所有已挂载分区 |
TestAllRAWDisks |
自动测试所有 RAW 裸盘 |
FileSize |
测试文件占磁盘容量的百分比 (1-15%) |
★ RAW 裸盘测试会直接写入块设备,请确保目标盘无重要数据。
Aliflash NVMe SSD 测试 ★
对于配备 Aliflash NVMe SSD 的服务器,需先安装 Aliflash 驱动并格式化设备:
# 安装 Aliflash 驱动 (RedHat 6)
rpmbuild --rebuild aliflash-module-2.8-6.src.rpm
rpm -ivh /root/rpmbuild/RPMS/x86_64/aliflash-module-2.6.32-504.el6.x86_64-2.8-6.x86_64.rpm
# 安装 FIO (配合 Aliflash 使用)
rpm -ivh fio-2.1.7-1.el6.rf.x86_64.rpm
# 格式化 Aliflash 设备
mkfs.ext4 /dev/dfa
# 创建挂载点并挂载
mkdir -p /root/Desktop/dfa
mount /dev/dfa /root/Desktop/dfa
配置文件示例 (Disk-only)
## 硬盘压力测试专属配置
<Logging>
LogFilename /tmp/
LogPrefix BiT_HDD
Format Ascii
LogDetailLevel normal
TraceLevel 0
MaxFileLines 1000
LogMode ClearAppend
</Logging>
<DutyCycles>
AutoStopMinutes 180
AutoStopCycles 0
CPU 0
Memory 0
Disk 100
Network 0
</DutyCycles>
<Disk>
# 测试所有已挂载分区 (取消下方注释启用)
#TestAllDisks
#FileSize 1
#TestMode Cyclic
# 单独测试每个分区
<Test>
Device /dev/sda1
TestMode Cyclic
FileSize 2
SeekCount 100
</Test>
<Test>
Device /dev/sdb1
TestMode RandomSeeking
FileSize 5
SeekCount 500
</Test>
</Disk>
<Errors>
ActionOnError Continue
</Errors>
启动命令
# 运行 3 小时硬盘测试
./64bit/bit_cmd_line_x64 -C disk_test.txt -D 180
测试前准备
# 查看已挂载的磁盘
cat /etc/mtab
# 查看磁盘使用情况
df -h
# 查看所有硬盘设备
cat /proc/partitions | grep -v "dm-"
# 挂载测试分区 (如需要)
mount /dev/sdb1 /mnt/test_disk
# NVMe 设备挂载
mount /dev/nvme0n1 /nvme0
mount /dev/nvme1n1 /nvme1
# NTFS 分区需使用 ntfs-3g 挂载以获得读写权限
mount -t ntfs-3g /dev/sdc1 /mnt/ntfs_disk
测试验证
# 查看磁盘信息
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# SMART 健康状态
smartctl -a /dev/sda
# 查看磁盘写入速度
iostat -x 1
通过标准:Disk 测试窗口中 Errors 保持为 0,Bytes Written/Read 正常增长,无 I/O 错误或文件系统错误。
4.6 PCIE 压力测试 ★
重要说明:BurnInTest for Linux 的命令行版本没有独立的 PCIe 专项测试。如需直接测试 PCIe 链路电气特性,需配合 PassMark PCIe Test Card 硬件使用。以下提供三种间接验证 PCIe 通道稳定性的方法。
方法一:网络测试 (利用网卡 PCIe 通道) ★ 推荐
网卡通过 PCIe 总线与 CPU 通信,对网卡进行高压网络测试可间接验证 PCIe 通道的稳定性。
测试原理:通过 ICMP Echo (Ping) 方式向远程主机发送带校验和的数据包 (64 字节),回传后逐字节比对。支持最多 6 个远程地址,可绑定不同网卡同时测试。
多网卡 iPerf 并发测试 (配合使用):
# 节点 A (服务端) — 设置 IP
ifconfig eth0 192.168.0.1
ifconfig eth1 192.168.10.1
# 节点 B (客户端) — 设置 IP
ifconfig eth0 192.168.0.2
ifconfig eth1 192.168.10.2
# 节点 A — 启动 iPerf 服务端 (10 个线程, 3600 秒)
iperf -s 192.168.0.1 -P 10 -t 3600 -i 3
# 节点 B — 启动 iPerf 客户端
iperf -c 192.168.0.1 -P 10 -t 3600 -i 3
# 注意:需同时启动收发两个方向,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
BurnInTest Network 配置文件:
## PCIe 间接压力测试 (通过网络测试)
<Logging>
LogFilename /tmp/
LogPrefix BiT_PCIE
Format Ascii
LogDetailLevel normal
TraceLevel 0
MaxFileLines 1000
LogMode ClearAppend
</Logging>
<DutyCycles>
AutoStopMinutes 120
AutoStopCycles 0
CPU 0
Memory 0
Disk 0
Network 100
</DutyCycles>
<Network>
# 目标 IP 地址 (最多 6 个),建议使用局域网内主机降低链路干扰
IP 192.168.1.100
# IP 10.0.0.50
# 坏包率阈值 (0=每个坏包都报错, 1-99=超过此百分比才报错)
BadPacketRatio 0
# 超时时间 (ms)
TimeOut 2000
# 每个 IP 绑定到不同网卡 (启用此选项测试多 PCIe 通道)
#TestAllNICs
</Network>
<Errors>
ActionOnError Continue
</Errors>
启动命令:
# 先确认目标主机可达
ping -c 4 192.168.1.100
# 运行网络测试 (120 分钟)
./64bit/bit_cmd_line_x64 -C network_test.txt -D 120
方法二:GPU 图形测试 (GUI 版本)
GUI 版本的 2D/3D 图形测试通过 OpenGL 渲染对 GPU 施加负载,GPU 通过 PCIe 总线与 CPU 通信,因此可间接测试 PCIe x16 通道。
# 确认 GUI 依赖已安装,然后启动 GUI
./64bit/bit_gui_x64
# 在界面中同时勾选:
# - 2D Graphics Test
# - 3D Graphics Test
# 设置 Duty Cycles 并点击 Go
方法三:PassMark PCIe Test Card (专用硬件)
PassMark 提供专用的 PCIe 测试卡硬件,配合 BurnInTest 可测试:
- PCIe 插槽传输速度和稳定性
- 电压检测 (12V, 3.3V, 3.3Vaux)
- DMA 总线主控吞吐量基准测试
- PCIe 链路速率验证 (Gen2 5Gbps/lane, Gen3, Gen4)
测试验证
# 检查 PCIe 设备及链路速度
lspci -vvv | grep -E "LnkSta|LnkCap"
# 检查网卡 PCIe 信息
lspci -vvv | grep -A 10 "Ethernet"
# 网卡数量确认
ifconfig | grep -i ether | wc -l
# 检查 GPU PCIe 链路 (如有)
lspci -vvv | grep -A 10 "VGA\|3D"
# 监控 PCIe 错误
dmesg | grep -i "pci.*error\|aer"
通过标准:网络丢包率为 0,无 PCIe AER (Advanced Error Reporting) 错误日志,lspci 显示的链路速度与标称值一致。
4.7 完整压测工作流程 (Ali 服务器 SOP 参考) ★
结合 Ali 服务器压测 SOP,完整的 8 小时压测流程如下:
Step 1 — 测试前准备
# 清除历史 SEL 日志
ipmitool sel clear
# 启动 MCE 守护进程
mce -daemon
# 挂载测试磁盘
mkdir -p /mnt/test_disk
mount /dev/sdb1 /mnt/test_disk
# 赋予 BurnInTest 完整权限
cd /path/to/burnintest/
chmod -R 777 .
Step 2 — 启动 8 小时压测
# 使用配置文件启动,运行 480 分钟 (8 小时)
./64bit/bit_cmd_line_x64 -C full_test.txt -D 480
全组件压测配置参考 (full_test.txt):
<Logging>
LogFilename /tmp/
LogPrefix BiT_FULL
Format Ascii
LogDetailLevel normal
TraceLevel 0
MaxFileLines 10000
LogMode ClearAppend
</Logging>
<DutyCycles>
AutoStopMinutes 480
AutoStopCycles 0
CPU 100
Memory 100
Disk 100
Network 100
</DutyCycles>
<CPU>
General
FPU
SSE
SSE2
Prime
</CPU>
<Memory>
Cycle
</Memory>
<Disk>
<Test>
Device /dev/sda1
TestMode Cyclic
FileSize 2
SeekCount 100
</Test>
</Disk>
<Network>
IP 127.0.0.1
BadPacketRatio 0
TimeOut 2000
</Network>
<Errors>
ActionOnError Continue
</Errors>
Step 3 — 测试后结果检查 ★
压测完成后,按 Ali SOP 标准检查以下四项:
Part 1 — 宕机/自动重启检查:
# 确认系统正常运行,无重启记录
uptime
last reboot | head -5
Part 2 — 内存 ECC/UCE 检查:
# 检查 SEL 日志中的 ECC 错误
ipmitool sel list | grep -i ECC
# 检查是否有 Uncorrectable ECC 错误
ipmitool sel list | grep -i UCE
Part 3 — MCE 检查:
# 查看 MCE 日志
cat /var/log/mcelog
# 搜索错误关键词
cat /var/log/mcelog | grep -i error
Part 4 — BMC SEL 错误检查:
# 查看所有 SEL 日志
ipmitool sel list
# 搜索错误
ipmitool sel list | grep -i error
# 保存日志文件
ipmitool sel list > sel.log
cat /var/log/mcelog > mce.log
★ Ali 压测 Pass/Fail 标准:8 小时压测后,不允许出现:① 宕机/自动重启、② 内存 ECC/UCE 错误、③ MCE 错误、④ BMC SEL 硬件错误。
5. 命令行版本详解
5.1 命令行参数
| 参数 | 说明 | 示例 |
|---|---|---|
-C |
加载指定的配置文件 | -C cpu_test.txt |
-D |
测试运行时长 (分钟), 0=无限 | -D 60 |
-X |
测试运行周期数 | -X 10 |
-d |
启用 Debug 模式 (生成 debug.log) | -d |
-K |
出错时保留磁盘测试数据文件 | -K |
-k |
注册许可证密钥 (读取 key.dat) | -k |
-x |
测试完成后不自动退出 | -x |
-v |
打印版本信息并退出 | -v |
-S |
加载脚本文件 (GUI 版本) | -S script.txt |
-R |
启动后自动开始测试延时 (ms) | -R 5000 |
-M |
启动时自动显示 Machine ID 窗口 | -M |
-p |
显示刷新间隔 (500-300000ms) | -p 1000 |
5.2 配置文件语法
配置文件 (cmdline_config.txt) 使用结构化的段标签格式:
#开头的行为注释,会被忽略开始一个配置段- 每个
块定义一个测试设备实例...
有效配置段:
<Logging> 日志配置
<Notes> 机器信息和备注
<DutyCycles> 测试选择和负载强度
<Memory> 内存测试参数
<Disk> 磁盘测试参数 (含 <Test> 子段)
<CPU> CPU 测试参数
<Network> 网络测试参数
<CDRWDVD> 光驱测试参数 (含 <Test> 子段)
<Serial> 串口测试参数 (含 <Test> 子段)
<Parallel> 并口测试参数
<USB> USB 测试参数
<Sound> 声卡测试参数
<Plugin> 外部插件测试参数 (含 <Test> 子段)
<Errors> 错误处理策略
5.3 DutyCycles 配置
<DutyCycles>
## 自动停止时间 (分钟), 0=无限运行
AutoStopMinutes 60
## 自动停止周期数, 0=无限运行
AutoStopCycles 0
## 每个测试的负载强度 (1-100), 0=禁用该测试
CPU 100
Memory 100
Disk 100
Network 100
CDDVD 100
Serial 100
Parallel 100
USB 100
Sound 100
</DutyCycles>
5.4 日志配置
<Logging>
## 日志文件路径
LogFilename /tmp/
## 日志文件名前缀
LogPrefix BiTLog
## 日志格式: Ascii | HTML | Certificate
Format Ascii
## 详细级别: summary | normal
LogDetailLevel normal
## 跟踪级别: 0 (无) | 1 (活动跟踪) | 2 (详细跟踪)
TraceLevel 0
## 每日志文件最大行数 (100-10000)
MaxFileLines 1000
## 日志模式:
## ClearAppend - 清空后追加 (单文件)
## AccumulateAppend - 累积追加 (单文件)
## ClearNew - 清空后新建 (单文件)
## Timestamp - 每次创建带时间戳的新文件
LogMode ClearAppend
</Logging>
6. 测试结果与日志
6.1 日志格式
BurnInTest 支持三种日志输出格式:
| 格式 | 说明 | 适用场景 |
|---|---|---|
| Ascii | 纯文本格式,可读性好 | 日常测试记录、CLI 环境 |
| HTML | 网页格式报告 | 客户交付、存档 |
| Certificate | 证书格式 (基于 BITCertificateTemplate.html 模板) | 正式测试报告 |
6.2 读取日志
# 查看 ASCII 日志
cat /tmp/BiTLog*.txt
# 搜索错误
grep -i "error\|fail\|serious\|critical" /tmp/BiTLog*.txt
# 查看测试概要
tail -50 /tmp/BiTLog*.txt
# 查看 BurnInTest Debug 日志 (如果启用 -d)
cat debug.log
6.3 错误分类级别
BurnInTest 内置 272 种错误类型,分四个严重级别(定义在 BITErrorClassification.txt):
| 级别 | 含义 | 示例 |
|---|---|---|
| CRITICAL | 严重硬件故障 | USB 回路插头检测失败、数据损坏 |
| SERIOUS | 硬件错误 | RAM 校验失败 (错误码 30)、磁盘写入错误 (错误码 14)、CPU 运算错误 (错误码 1-4) |
| WARNING | 警告 | 网络连接失败 (错误码 31)、磁盘速度偏低 (错误码 134) |
| INFORMATION | 信息 | 磁盘空间不足 (错误码 12)、无可用内存缓冲区 (错误码 11) |
6.4 自定义错误分类
编辑 BITErrorClassification.txt 可自定义错误描述和严重级别:
# 格式: 错误号,"描述文本",级别,注释
17,"Data Verify failure",SERIOUS,
修改后需重启 BurnInTest 生效。升级/卸载 BurnInTest 时该文件可能被覆盖,建议保留备份。
6.5 结果判定
- PASS:所有启用的测试无 Error 记录,测试周期正常完成
- FAIL:任何测试出现 Error,或系统在测试中挂起/关机
- 重点关注:Errors 计数、Cycles 完成次数、各子系统 Operations 是否持续增长
7. 常见问题排查
7.1 缺失依赖库
现象:启动 burnintest.sh 提示 "Missing Library: libxxx.so"
# 查看缺失哪些库
ldd 64bit/bit_gui_x64 | grep "not found"
# 方案一:安装缺失库后使用 GUI
yum install -y gtk2 libstdc++
# 方案二:改用命令行版本 (只需 ncurses)
./64bit/bit_cmd_line_x64
7.2 权限不足
现象:提示 "root(admin) access needed to run this test" (错误码 203)
# 使用 root 权限运行
sudo ./64bit/bit_cmd_line_x64 -C config.txt -D 60
大多数测试需要 root 权限,包括内存测试(锁定物理页面)、磁盘测试(直接写块设备)和网络测试(Raw Socket)。
7.3 磁盘测试失败
现象:Disk test errors — 文件无法创建、写入失败、权限错误
# 确认分区已挂载且有读写权限
mount | grep sda1
# 确认分区类型受支持 (ext2/3/4, xfs, vfat, ntfs)
blkid /dev/sda1
# NTFS 需用 ntfs-3g 以读写模式挂载
mount -t ntfs-3g /dev/sdc1 /mnt/ntfs
# 确认有足够空间
df -h /mnt/test
7.4 网络测试失败
现象:Timeout waiting for packet, Could not resolve host name
# 确认目标主机可达
ping -c 4 192.168.1.100
# 确认防火墙未阻止 ICMP
iptables -L -n | grep ICMP
systemctl stop firewalld
# 确认网卡有有效 IP
ip addr show
# 确认 Raw Socket 权限 (需要 root)
./64bit/bit_cmd_line_x64 -C network_test.txt -D 10
7.5 内存测试覆盖率低
现象:Test Ram 数值远小于 Total Ram
- 关闭其他运行中的应用释放内存
- 在运行级别 1 (单用户模式) 下测试
- 使用
free -h确认可用内存量 - 部分 RAM 始终被系统保留,少量覆盖率不足属正常现象
7.6 15 分钟自动停止
现象:测试运行到 15 分钟自动退出
- 这是未激活版本的试用限制
- 执行
ins_bitv3.sh激活脚本解除限制 - 确认
workaround_for_rhel/ins_bitv3.sh已成功运行
7.7 系统启动失败
现象:系统启动 fail,无法进入系统
# 使用 fsck 修复文件系统
fsck -Cy /dev/sda1
fsck -Cy /dev/sda2
# 修复完成后重启
ctrl+alt+delete
8. 参考链接
PassMark 官方
| 资源 | 地址 |
|---|---|
| 官网首页 | https://www.passmark.com/products/burnintest/ |
| Linux 下载页 | https://www.passmark.com/products/bitlinux/download.php |
| Linux FAQ | https://www.passmark.com/support/bitlinux_faq.php |
| 更新历史 | https://www.passmark.com/products/burnintest/bitlinux_history.php |
| 在线帮助 | https://www.passmark.com/support/burnintest/help/ |
内部资源
| 资源 | 路径 |
|---|---|
| V3.2 部署包 | file://///10.99.184.127/Structure/Test%20Software/%E6%B5%8B%E8%AF%95%E8%BD%AF%E4%BD%93%E5%8F%8A%E8%84%9A%E6%9C%AC/Linux%20test%20software/BurnIn%20Test |
| 测试软体共享 | file://///10.99.184.127/Structure/Test%20Software/测试软体及脚本/Linux%20test%20software/BurnInTest |
| Aliflash 驱动 | \\10.99.101.212\structure-ftp\Test Software\Linux... |
© 2025 PassMark Software. BurnInTest 为 PassMark Software 的注册商标。本文档基于 BurnInTest V3.2 本地文件、官方帮助文档、Ali 服务器压测 SOP 及 Linux 系统操作经验编写。