4.1 CPU压力测试
在Linux OS下,stress-ng 是一个强大的工具,可以用来进行 CPU、内存、I/O 等资源的压力测试。以下是如何使用 stress-ng 进行 CPU 压力测试的步骤:

安装 stress-ng 或是从源码编译stress-ng工具

在基于 Debian/Ubuntu 的系统中安装:

sudo apt-get update
sudo apt-get install stress-ng

对于其他 Linux 发行版,可以使用相应的包管理器进行安装。

使用 stress-ng 进行 CPU 压力测试

stress-ng 提供了多种 CPU 压力测试模式,以下是常用的命令示例:

单个核心 CPU 压力测试

使用以下命令启动单个 CPU 核心的压力测试:

stress-ng --cpu 1 --timeout 60s 

这个命令会使用 1 个 CPU 核心进行压力测试,持续 60 秒。

多个核心 CPU 压力测试

如果使用多个 CPU 核心,可以指定 –cpu 参数为核心数。例如,使用 4 个核心进行压力测试:

 stress-ng --cpu 4 --timeout 60s

指定 CPU 负载

可以通过指定负载级别来调整压力的强度。例如,进行高强度的 CPU 测试:

stress-ng --cpu 4 --cpu-load 100 --timeout 60s

–cpu-load 100 表示每个核心的负载是 100%。

运行多种类型的压力测试

stress-ng 不仅可以进行 CPU 压力测试,还可以进行内存、磁盘等多种资源的压力测试。例如:

stress-ng –cpu 4 –io 2 –vm 2 –timeout 60s
这个命令会启动 4 个 CPU 核心、2 个 I/O 线程、2 个虚拟内存线程的压力测试。

测试的时间控制

通过 –timeout 参数指定压力测试的持续时间。例如:

stress-ng --cpu 8 --timeout 5m

这个命令会对 8 个核心进行 5 分钟的压力测试。

查看压力测试的详细输出

如果需要查看详细的测试输出,可以使用 –verbose 参数:

 stress-ng --cpu 4 --timeout 60s --verbose

这将打印出详细的测试进度和信息。

4.2 DDR压力测试
在Linux OS下,memtester 是一个用于测试内存(包括 DDR 内存)稳定性的工具。它通过不断地对内存进行写入和读取操作,帮助检查内存是否存在硬件问题。下面是如何使用 memtester 进行内存压力测试的步骤。

安装 memtester或是从源码编译memtester

安装 memtester 工具。可以通过以下命令在基于 Debian/Ubuntu 的系统中安装:

sudo apt-get update
sudo apt-get install memtester
对于其他 Linux 发行版,可以使用相应的包管理器进行安装。

使用 memtester 进行内存压力测试

测试指定内存大小

可以指定测试的内存大小,memtester 会对这部分内存进行压力测试。例如,如果想测试 1GB 的内存,可以使用以下命令:

sudo memtester 1G
这里的 1G 表示测试 1GB 的内存。

指定测试次数

memtester 默认会进行一次完整的测试。如果想执行多次测试,可以使用 -c 参数指定次数。例如,测试 1GB 内存 5 次:

 sudo memtester 1G 5

这将对 1GB 内存进行 5 次完整的压力测试。

测试系统的全部内存

如果想测试整个系统的内存,可以使用如下命令(系统内存大小一般为 total):

 sudo memtester $(free -h | grep Mem | awk '{print $2}')

这将自动获取系统的总内存大小,并将其作为测试的内存大小。

指定内存块的对齐

有时,在测试 DDR 内存时,可以使用 -a 参数来指定对齐方式,这对于某些特定硬件可能会有所帮助。例如:

 sudo memtester 1G -a

默认情况下,memtester 会自动对齐内存块,但可以尝试调整对齐设置,尤其是在使用某些特殊硬件时。

4.3 网络性能测试
在 Linux OS 下,iperf 是一个非常流行的网络带宽测试工具,用于测量和测试网络连接的带宽性能。它支持 TCP 和 UDP 协议,能通过客户端和服务器模式测试不同的网络带宽指标。下面是如何使用 iperf 进行网络带宽压力测试的步骤。

安装 iperf或是从源码编译iperf。

安装 iperf 工具。可以通过以下命令在基于 Debian/Ubuntu 的系统中安装:

sudo apt-get update
sudo apt-get install iperf3
对于其他 Linux 发行版,可以使用相应的包管理器进行安装。

使用 iperf 进行网络带宽压力测试

iperf 工具有两个主要模式:服务器模式和客户端模式。需要在两台机器上分别启动服务器和客户端,才能进行带宽测试。

启动 iperf 服务器

在一台机器上启动 iperf 服务器,监听指定端口(默认端口为 5201)。运行以下命令:

iperf3 -s
这将启动一个简单的 iperf3 服务器,等待客户端连接。你可以使用 -p 参数指定其他端口,例如:

iperf3 -s -p 12345

启动 iperf 客户端

在另一台机器上启动 iperf 客户端,连接到服务器并进行带宽测试。假设服务器的 IP 地址为 192.168.1.1,可以运行以下命令:

iperf3 -c 192.168.1.1

这会启动客户端并开始进行测试,默认会持续 10 秒钟,测量网络带宽。

测试 TCP 带宽

iperf3 默认使用 TCP 协议进行测试。如果你想通过客户端和服务器之间测量 TCP 带宽,可以使用如下命令:

iperf3 -c 192.168.1.1 -t 60

这个命令表示使用 TCP 协议连接到服务器,测试持续 60 秒。

测试 UDP 带宽

还可以使用 UDP 协议进行带宽测试,UDP 更适合测试网络的最大吞吐量,因为它没有像 TCP 那样的连接管理机制。例如,使用以下命令进行 UDP 测试:

iperf3 -c 192.168.1.1 -u -b 1G -t 60
- -u 参数指定使用 UDP 协议。

- -b 1G 参数指定目标带宽为 1Gbps- -t 60 参数指定测试持续时间为 60 秒。

测试多流带宽

可以通过 -P 参数启动多个并行的流来测试多流带宽。例如,测试 4 个并行流的带宽:

iperf3 -c 192.168.1.1 -P 4 -t 60
这将启动 4 个并行流,每个流都进行带宽测试。

自定义传输窗口大小

通过 -w 参数,可以设置 TCP 连接的窗口大小,测试不同的网络配置对带宽的影响。例如:

iperf3 -c 192.168.1.1 -w 256K -t 60

这会设置 TCP 窗口大小为 256KB,并进行 60 秒的带宽测试。

测试结果输出

iperf3 会输出类似如下的带宽测试结果:

------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5201
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.2 port 59452 connected with 192.168.1.1 port 5201
[ 5] 0.0-10.0 sec 1.23 GBytes 1.06 Gbits/sec

输出中包括:

  • 连接的本地和远程 IP 地址。
  • 测试的持续时间(例如 10 秒)。
  • 测量的总传输量(如 1.23 GB)。
  • 网络带宽(如 1.06 Gbps)。
    4.4 存储性能测试
    在 Linux OS 下,iozone 是一个常用的文件系统和存储设备性能测试工具,可以用来测试存储设备的读写速率。它支持多种读写模式(如顺序读写、随机读写、写时写、读时写等),以下是如何使用 iozone 来测试存储设备的读写速率步骤:

安装 iozone

首先,安装 iozone 工具。在基于 Debian/Ubuntu 的系统中,可以通过以下命令安装:

sudo apt-get update
sudo apt-get install iozone3

对于其他 Linux 发行版,可以使用相应的包管理器进行安装。

使用 iozone 进行存储设备读写速率测试

iozone 提供了多种模式来测试存储设备的性能,以下是一些常用的命令示例。

测试顺序读写性能

最常用的测试之一是顺序读写性能,即在存储设备上执行连续的读写操作。

iozone -a

这个命令会自动执行多个测试,包括顺序读写、随机读写等。默认情况下,它会测试文件大小从 64KB 到 8GB,测试顺序读写和随机读写性能。

如果只想执行顺序读写测试,可以使用以下命令:

iozone -i 0 -i 1 -s 1G -r 4k
  • -i 0 表示顺序写(Write)测试。
  • -i 1 表示顺序读(Read)测试。
  • -s 1G 指定测试的文件大小为 1GB。
  • -r 4k 设置块大小为 4KB。
    这个命令将测试 1GB 文件的顺序读写性能,块大小为 4KB。

测试随机读写性能

要测试随机读写性能,可以使用以下命令:

iozone -i 2 -i 3 -s 1G -r 4k
  • -i 2 表示随机写(Random Write)测试。
  • -i 3 表示随机读(Random Read)测试。
  • -s 1G 指定测试的文件大小为 1GB。
  • -r 4k 设置块大小为 4KB。
    此命令将测试 1GB 文件的随机读写性能,块大小为 4KB。

测试不同块大小的读写性能

iozone 允许你测试不同块大小的读写性能。例如,测试 1GB 文件,块大小从 4KB 到 1MB:

iozone -i 0 -i 1 -s 1G -r 4k -r 64k -r 1m
这将测试不同块大小下的顺序读写性能。

测试多线程读写性能

如果存储设备支持多线程操作,你可以使用 iozone 的 -t 参数来指定使用多个线程进行读写操作。例如,使用 4 个线程进行测试:

iozone -i 0 -i 1 -s 1G -r 4k -t 4
  • -t 4 表示使用 4 个线程进行并发测试。

测试大文件的读写性能

也可以测试更大文件的读写性能,例如测试 10GB 的文件:

iozone -i 0 -i 1 -s 10G -r 4k

这个命令会测试一个 10GB 文件的顺序读写性能,块大小为 4KB。

输出结果

iozone 的测试结果会显示各个操作的吞吐量和文件大小等信息。测试结果类似如下:

iozone test complete.
File size set to 1048576 KB
Record size set to 4096 KB
Repeating tests for 1 seconds each
Test run began: Thu Jun 25 15:47:14 2025

Write with read after write = 142.50 KB/sec
Write without read after write = 179.30 KB/sec

  • 结果会显示不同操作(顺序读、顺序写、随机读、随机写等)的吞吐量(KB/sec 或 MB/sec)。

  • 可以通过查看这些结果来评估存储设备的性能。

4.5 显卡性能测试
在 Linux OS 下,glmark2 是一个流行的图形基准测试工具,用于评估显卡的性能。它通过运行一系列的 OpenGL 渲染测试来测试显卡的性能,包括多种图形效果和渲染场景。以下是如何使用 glmark2 来测试显卡性能的步骤。

安装 glmark2,在基于 Debian/Ubuntu 的系统中,可以通过以下命令安装:

sudo apt-get update
sudo apt-get install glmark2

对于其他 Linux 发行版,可以使用相应的包管理器进行安装。例如,在 CentOS/RHEL 上:

sudo yum install glmark2

使用 glmark2 测试显卡性能

glmark2 提供了多种不同的测试选项来评估显卡的性能。以下是一些常用的命令示例。

运行基本的图形基准测试

要运行默认的基准测试,只需在终端中执行:

glmark2

此命令将启动一系列的渲染测试并显示一个性能分数,表示显卡的性能。测试完成后,会显示一个类似于以下的结果:

=======================================================
glmark2 2021.06
=======================================================
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 1080 Ti/PCIe/SSE2
GL_VERSION: 4.6.0 NVIDIA 460.39
=======================================================
test result: 1234 frames
FPS: 60.1 (min: 45.2, max: 80.3, average: 60.1)
=======================================================

输出结果包括:

  • GL_VENDOR、GL_RENDERER、GL_VERSION:显卡的信息。
  • test result:测试通过的帧数。
  • FPS:帧率(每秒帧数),包括最小、最大和平均帧率。
    运行图形基准测试并保存结果

如果希望将测试结果保存到文件中,可以使用 -s 参数指定输出文件。例如:

glmark2 -s 512

这会设置图形渲染的分辨率为 512x512,并输出结果。

运行指定的单个测试

也可以指定运行特定的单个测试场景。例如,测试着色器(shader)性能:

glmark2 --run-tilts

可以通过 –help 查看所有可用的测试项:

glmark2 --help

使用更高分辨率进行测试

可以通过设置更高的分辨率来测试显卡在高负载情况下的表现。例如,使用 1920x1080 的分辨率:

glmark2 –size 1920x1080
启用 OpenGL ES 测试

glmark2 还支持测试 OpenGL ES(用于移动设备和嵌入式系统)。要启用 OpenGL ES 测试,可以使用 -es 参数:

glmark2 -es

多次运行基准测试

如果希望对显卡进行更全面的评估,可以多次运行测试,查看结果的稳定性。使用 -b 参数可以设置运行次数:

glmark2 -b 10

这会运行 10 次基准测试并报告每次的平均帧率。

查看详细测试结果

运行 glmark2 后,通常会得到一个结果输出,但有时你可能希望更详细的性能分析报告。可以通过使用 –json 参数以 JSON 格式查看详细结果:

glmark2 --json

这会输出详细的 JSON 格式的性能数据,便于进一步分析或导入到其他工具进行处理。

https://zhuanlan.zhihu.com/p/28982006460

文档更新时间: 2025-04-29 03:11   作者:月影鹏鹏
IT运维支持-AIWALY-月影工作室