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
相关推荐
天一生水water37 分钟前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
虚伪的空想家2 小时前
华为A800I A2 arm64架构鲲鹏920cpu的ubuntu22.04 tls配置直通的grub配置
ubuntu·华为·架构·虚拟化·kvm·npu·国产化适配
祎直向前2 小时前
在Ubuntu中安装并配置ssh
linux·ubuntu·ssh
newxtc6 小时前
【湖北政务服务网-注册_登录安全分析报告】
人工智能·selenium·测试工具·安全·政务
不懂音乐的欣赏者6 小时前
Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!
linux·windows·ubuntu·ros·wsl·ros2·双系统
软件测试小仙女7 小时前
简单但好用:4种Selenium截图方法
自动化测试·软件测试·selenium·测试工具·测试用例·接口测试·selenium截图
rit84324999 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
程序员杰哥10 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
newxtc12 小时前
【锦州通APP注册_登录安全-无验证方式导致安全隐患】
人工智能·selenium·测试工具·安全·政务