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
相关推荐
测试199810 小时前
Web自动化测试入门
自动化测试·软件测试·python·功能测试·selenium·测试工具·测试用例
MIXLLRED11 小时前
Ubuntu 22.04/ROS2 Humble下使用Intel RealSense D435i相机
ubuntu·d435i·ros2·深度相机
马踏岛国赏樱花11 小时前
Windows与Ubuntu双系统,挂载D/E盘到Ubuntu下时只能读的问题
linux·windows·ubuntu
食咗未12 小时前
Linux tcpdump工具的使用
linux·服务器·网络·驱动开发·tcp/ip·测试工具·tcpdump
张永清-老清12 小时前
每周读书与学习->JMeter性能测试脚本编写实战(三)如何利用JMeter为MySQL数据库构造测试数据
数据库·测试工具·jmeter·压力测试·性能调优·jmeter性能测试·每周读书与学习
Levin__NLP_CV_AIGC12 小时前
Ubuntu部署Dufs
linux·运维·服务器·ubuntu·ssh
C_心欲无痕12 小时前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
啊吧怪不啊吧13 小时前
2026年1月远程软件大比拼
测试工具
知识分享小能手14 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中的区块链 —— 知识点详解 (23)
学习·ubuntu·区块链
Chef_Chen14 小时前
数据科学每日总结--Day41--ubuntu安装tailscale
数据库·ubuntu·postgresql