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
相关推荐
少云清12 小时前
【接口测试】4_Postman _全局变量和环境变量
测试工具·postman
卓码软件测评13 小时前
CMA/CNAS软件测评机构:【Gatling数据库性能关联测试JDBC连接和SQL执行时间监控】
数据库·sql·测试工具·性能优化·测试用例
RedMery13 小时前
环境Ubuntu 25.04,RTX4090,CUDA12.8下的Mr.DETR、Detectron2、detrex、Transformer安装
ubuntu·transformer·mr
春日见14 小时前
虚拟机上由于网络问题无法正常git clone
linux·服务器·网络·人工智能·git·ubuntu·debug
韩曙亮15 小时前
【错误记录】VirtualBox 中安装 Ubuntu 系统无法跨虚拟机进行复制操作 ( 解决方案 - 启用 “ 共享粘贴板 “、“拖动“ 双向操作 )
linux·运维·ubuntu·virtualbox·ros 2
2501_924064111 天前
2025年接口错误自动分析工具对比与性能测试平台选型指南
测试工具·性能优化·数据可视化
loosed1 天前
Ubuntu mysql8 tar.xz 安装
linux·ubuntu·adb
Wang's Blog1 天前
RabbitMQ: 消息发送、连接管理、消息封装与三种工程方案
linux·ubuntu·rabbitmq
UTP协同自动化测试1 天前
UTP测试系统为家电及智能家居产品打造高效、合规、体验至上的验证体系
功能测试·物联网·测试工具·视觉检测·压力测试·模块测试·测试覆盖率
慧都小项1 天前
JAVA自动化测试平台Parasoft Jtest 插件Eclipse/IDEA安装教程
java·软件测试·测试工具·eclipse·intellij-idea