Ubuntu硬件性能测试工具
Ubuntu 服务器版虽然没有图形界面,但提供了大量命令行工具来测试 CPU、内存、硬盘 的性能。以下是生产环境常用、可靠、无需 GUI 的性能测试工具,适合服务器使用。
一、综合性能测试工具(推荐)
1. sysbench(全能型基准测试工具)
安装:
sudo apt update
sudo apt install -y sysbench
测试 CPU 性能
sysbench cpu --cpu-max-prime=20000 run
- 计算质数,测试 CPU 运算能力
- cpu-max-prime 越大,测试越久
测试内存性能
sysbench memory --memory-block-size=1G --memory-total-size=10G run
- 测试内存读写速度
- –memory-block-size:每次操作的数据块大小
- –memory-total-size:总测试数据量
测试磁盘 I/O 性能
# 准备测试文件(在当前目录创建 1G 文件)
sysbench fileio --file-total-size=1G prepare# 运行随机读写测试
sysbench fileio --file-total-size=1G --file-test-mode=rndrw --time=30 run# 清理文件
sysbench fileio --file-total-size=1G cleanup
- –file-test-mode 可选:
- seqwr:顺序写
- seqrewr:顺序读写
- seqrd:顺序读
- rndrd:随机读
- rndwr:随机写
- rndrw:随机读写
二、硬盘(磁盘)性能测试专用工具
1. dd
#!/bin/bashecho "=== 开始磁盘性能测试 ==="# 1. 顺序写测试
echo "1. 顺序写入 1GB..."
time dd if=/dev/zero of=./dd_test_write bs=1M count=1024 oflag=direct# 2. 顺序读测试
echo "2. 顺序读取 1GB..."
time dd if=./dd_test_write of=/dev/null bs=1M iflag=direct# 3. 随机写测试(IOPS)
echo "3. 随机写入 100MB (4K 块)..."
time dd if=/dev/zero of=./dd_test_randwrite bs=4k count=25600 oflag=direct# 清理
rm -f ./dd_test_write ./dd_test_randwriteecho "=== 测试完成 ==="
- oflag=direct:绕过缓存,测试真实磁盘性能
- 缺点:不区分随机/顺序,仅粗略估计
2. fio(专业级 I/O 测试工具,推荐用于生产环境)
安装:
sudo apt install -y fio
示例:测试随机读写 IOPS
fio --name=randrw --filename=./fio_test --size=1G --time_based --runtime=30s --randrepeat=0 --ioengine=libaio --direct=1 --bs=4k --iodepth=16 --rw=randrw --rwmixread=70 --rwmixwrite=30 --group_reporting
- bs=4k:模拟数据库典型块大小
- rw=randrw:随机读写
- rwmixread=70:70% 读,30% 写
- direct=1:绕过缓存
- 输出包含 IOPS、吞吐量、延迟
三、CPU 性能测试
- stress-ng(压力测试工具,测试 CPU 稳定性)
sudo apt install -y stress-ng
测试 CPU 计算能力(100% 负载):
# 对所有 CPU 核心施加压力,持续 60 秒
stress-ng --cpu $(nproc) --timeout 60s --metrics-brief
- $(nproc):自动获取 CPU 核心数
- –metrics-brief:显示性能摘要
2. lscpu(查看 CPU 详细信息)
lscpu
- 查看架构、核心数、线程、频率、缓存等
- 不是性能测试,但有助于理解硬件能力
四、内存性能测试
1. mbw(内存带宽测试)
sudo apt install -y mbw
测试内存带宽:
mbw 1000
- 分配 1GB 内存并测试复制速度
- 输出单位:MB/s
五、实时性能监控工具
1. htop(增强版 top)
sudo apt install -y htop
htop
- 实时查看 CPU、内存、进程使用情况
2. iostat(磁盘 I/O 监控)
sudo apt install -y sysstat
iostat -x 1
- 每 1 秒刷新一次,查看磁盘利用率、IOPS、吞吐量
六、推荐测试流程(服务器上线前)
# 1. 查看 CPU 信息
lscpu# 2. 测试 CPU 性能
sysbench cpu --cpu-max-prime=20000 run# 3. 测试内存带宽
mbw 1000# 4. 测试磁盘顺序写
dd if=/dev/zero of=./test.img bs=1G count=1 oflag=direct# 5. 测试磁盘随机 IOPS(更真实)
fio --name=randrw --filename=./fio_test --size=1G --runtime=30 --direct=1 --bs=4k --iodepth=16 --rw=randrw --group_reporting# 6. 清理测试文件
rm ./test.img ./fio_test