Ubuntu硬件性能测试工具

Ubuntu 服务器版虽然没有图形界面,但提供了大量命令行工具来测试 CPU、内存、硬盘 的性能。以下是生产环境常用、可靠、无需 GUI 的性能测试工具,适合服务器使用。

一、综合性能测试工具(推荐)

1. sysbench(全能型基准测试工具)

安装:

bash 复制代码
sudo apt update
sudo apt install -y sysbench

测试 CPU 性能

bash 复制代码
sysbench cpu --cpu-max-prime=20000 run
  • 计算质数,测试 CPU 运算能力
  • cpu-max-prime 越大,测试越久
    测试内存性能
bash 复制代码
sysbench memory --memory-block-size=1G --memory-total-size=10G run
  • 测试内存读写速度
  • --memory-block-size:每次操作的数据块大小
  • --memory-total-size:总测试数据量
    测试磁盘 I/O 性能
bash 复制代码
# 准备测试文件(在当前目录创建 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

bash 复制代码
#!/bin/bash

echo "=== 开始磁盘性能测试 ==="

# 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_randwrite

echo "=== 测试完成 ==="
  • oflag=direct:绕过缓存,测试真实磁盘性能
  • 缺点:不区分随机/顺序,仅粗略估计

2. fio(专业级 I/O 测试工具,推荐用于生产环境)

安装:

bash 复制代码
sudo apt install -y fio

示例:测试随机读写 IOPS

bash 复制代码
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 性能测试

  1. stress-ng(压力测试工具,测试 CPU 稳定性)
bash 复制代码
sudo apt install -y stress-ng

测试 CPU 计算能力(100% 负载):

bash 复制代码
# 对所有 CPU 核心施加压力,持续 60 秒
stress-ng --cpu $(nproc) --timeout 60s --metrics-brief
  • $(nproc):自动获取 CPU 核心数
  • --metrics-brief:显示性能摘要

2. lscpu(查看 CPU 详细信息)

bash 复制代码
lscpu
  • 查看架构、核心数、线程、频率、缓存等
  • 不是性能测试,但有助于理解硬件能力

四、内存性能测试

1. mbw(内存带宽测试)

bash 复制代码
sudo apt install -y mbw

测试内存带宽:

bash 复制代码
mbw 1000
  • 分配 1GB 内存并测试复制速度
  • 输出单位:MB/s

五、实时性能监控工具

1. htop(增强版 top)

bash 复制代码
sudo apt install -y htop
htop
  • 实时查看 CPU、内存、进程使用情况

2. iostat(磁盘 I/O 监控)

bash 复制代码
sudo apt install -y sysstat
iostat -x 1
  • 每 1 秒刷新一次,查看磁盘利用率、IOPS、吞吐量

六、推荐测试流程(服务器上线前)

bash 复制代码
# 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
相关推荐
字节逆旅2 小时前
ubuntu应用深度守护
ubuntu
欧云服务器6 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI6 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
se-tester7 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
The️7 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年7 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2007 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
xixi09247 天前
selenium IDE——command
selenium·测试工具
木尧大兄弟7 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬7 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动