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
相关推荐
爱讲故事的16 小时前
操作系统第一讲复习:为什么学习操作系统,以及操作系统到底在做什么?
linux·开发语言·windows·学习·ubuntu·c#
我先去打把游戏先19 小时前
Ubuntu虚拟机(服务器版本)Git卸载完全教程——彻底移除与清理配置
服务器·git·单片机·嵌入式硬件·物联网·ubuntu·51单片机
川石课堂软件测试20 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos
川石课堂软件测试20 小时前
作为一名测试工程师如何学习Kubernetes(k8s)技能
学习·测试工具·容器·职场和发展·kubernetes·测试用例·harmonyos
shandianchengzi21 小时前
【记录】Ubuntu|Ubuntu 26.04 笔记本耗电过快,排查 省电过程
linux·运维·ubuntu
承渊政道21 小时前
【MySQL数据库学习】(MySQL数据类型)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统
Luminbox紫创测控21 小时前
太阳模拟器自动化测试系统:稳态、脉冲、闪光光源的控制与数据采集
人工智能·测试工具·测试标准
一氧化二氢.h21 小时前
图中元件的执行顺序
测试工具·jmeter
say_fall21 小时前
Linux进程核心概念:命令行参数与环境变量深度解析
linux·运维·服务器·ubuntu
dongdonglele5211 天前
ubuntu 系统x86 架构安装docker,可以使用本地显卡
ubuntu·docker·架构