stress
是一个命令行工具,用于在系统上创建不同类型的计算压力,以测试系统的稳定性、可靠性和性能。通过 stress
命令,用户可以模拟系统在高负载下的行为,以便评估系统在各种情况下的表现。
该工具可以创建 CPU 计算、I/O 计算、虚拟内存计算和磁盘 I/O 计算的压力,用户可以根据需要选择不同类型的压力来测试系统。例如,可以通过 `stress` 命令模拟多核 CPU 的高负载运算、磁盘的高速读写、大量内存的分配释放等场景。
通过使用 `stress`,用户可以更好地了解系统在不同负载下的表现,以便进行性能测试、系统稳定性测试以及系统资源的评估。
Usage: stress [OPTION [ARG]] ...
-?, --help show this help statement
--version show version statement
-v, --verbose be verbose
-q, --quiet be quiet
-n, --dry-run show what would have been done
-t, --timeout N timeout after N seconds
--backoff N wait factor of N microseconds before work starts
-c, --cpu N spawn N workers spinning on sqrt()
-i, --io N spawn N workers spinning on sync()
-m, --vm N spawn N workers spinning on malloc()/free()
--vm-bytes B malloc B bytes per vm worker (default is 256MB)
--vm-stride B touch a byte every B bytes (default is 4096)
--vm-hang N sleep N secs before free (default none, 0 is inf)
--vm-keep redirty memory instead of freeing and reallocating
-d, --hdd N spawn N workers spinning on write()/unlink()
--hdd-bytes B write B bytes per hdd worker (default is 1GB)
Example1: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
# 解读:`stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s` 指定了创建 8 个 CPU 计算线程、4 个 I/O 计算线程和 2 个虚拟内存计算线程,每个虚拟内存线程分配 128MB 内存,并在 10 秒后自动停止压力测试。
Example2: stress --hdd 4 --hdd-bytes 1G --hdd-ops 100
# 解读:`--hdd` 选项用于指定要模拟的磁盘操作,`--hdd-bytes` 用于指定每个进程的读写数据量,`--hdd-ops` 用于指定每个进程执行的读写操作数。
Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).
# 合理使用单位来精确控制压力测试的时间和大小。
以下是各个选项的解释:
-
-v, --verbose
: 显示详细的输出信息。 -
-q, --quiet
: 以安静模式运行,减少输出信息。 -
-n, --dry-run
: 显示将要执行的操作,但不实际执行。 -
-t, --timeout N
: 在 N 秒后自动停止压力测试。 -
--backoff N
: 在开始工作之前等待 N 微秒的因子。 -
-c, --cpu N
: 创建 N 个线程执行对 sqrt() 函数的计算压力。 -
-i, --io N
: 创建 N 个线程执行对 sync() 函数的计算压力。 -
-m, --vm N
: 创建 N 个线程执行对 malloc()/free() 函数的计算压力。 -
--vm-bytes B
: 每个虚拟内存工作线程分配 B 字节的内存(默认为 256MB)。 -
--vm-stride B
: 对每个虚拟内存工作线程,每隔 B 字节进行一次内存访问(默认为 4096)。 -
--vm-hang N
: 在释放内存之前休眠 N 秒(默认为无,0 表示无限)。 -
--vm-keep
: 重新标记内存,而不是释放和重新分配。 -
-d, --hdd N
: 创建 N 个线程执行对 write()/unlink() 函数的计算压力。 -
--hdd-bytes B
: 每个磁盘工作线程写入 B 字节的数据(默认为 1GB)。
这些选项允许用户在不同方面对系统施加压力,以便测试系统在不同负载下的表现。
网友评论