首页 帮助中心 新加坡高防服务器 Linux上高CPU负载压力测试方法
Linux上高CPU负载压力测试方法
时间 : 2025-01-28 11:37:15 编辑 : 华纳云 阅读量 : 102

作为系统管理员在Linux系统承受繁重工作负载时,检查和监控Linux系统状态非常重要,常常会采取微调系统上活动、监视操作系统内核接口、测试Linux硬件观察压力下性能表现、测量系统上不同耗电负载等。本文分享两种Linux中压力测试工具stress和stress-ng。

Stress和stress-ng是评估和测试Linux系统在各种条件下性能的重要工具。Stress是一款简单且功能强大的工具可以对Linux系统采取可配置CPU、内存、I/O或磁盘压力。利用模拟繁重工作负载,让管理者可以查看系统在强压力下的响应表现。stress-ng和stress都对Linux系统有重大意义,可以让管理者更好的去优化系统配置、识别潜在问题提高整体系统可靠性。

stress-ng属于stress的扩展版本,提供了更多压力测试如针对进程间通信、套接字和各种文件操作等额外测试。建议使用root身份使用这些工具。

Linux中安装stress:

sudo apt install stress [在Debian、Ubuntu 和 Mint上]

sudo yum install stress [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]

sudo emerge -a sys-apps/stress [在Gentoo Linux上]

sudo apk add stress [在Alpine Linux上]

sudo pacman -S stress [在Arch Linux上]

sudo zypper install stress [在OpenSUSE上]    

sudo pkg install stress [在 FreeBSD 上]

使用方法:

sudo stress option argument

要生成按不同功能旋转的工作线程,可以使用以下选项:

使用 cpu N 生成按 sqrt() 功能旋转的 CPU 工作线程。

使用 io N 生成按 sync() 功能旋转的 I/O 工作线程。

使用 vm N 生成按 malloc()/free() 功能旋转的内存工作线程。

使用 vm-bytes N 为每个内存工作线程分配指定大小的内存。

使用 vm-keep 选项重新污染内存,而不是释放并重新分配内存资源。

使用 vm-hang N 设置工作线程在释放内存前的睡眠时间(秒)。

使用 hdd N 生成按 write()/unlink() 功能旋转的磁盘工作线程。

使用 timeout N 设置超时时间(秒)。

使用backoff N 设置工作开始前的等待时间(微秒)。

使用v 选项在运行压力测试时显示更详细的信息。
如需了解更多帮助,可使用help 或查看手册页。

方便每次运行压力测试时都可以检查效果可以运行uptime命令并记录下平均负载。运行stress命令生成8个工作进程,超时sqrt()时间为20秒。运行stress后,再次运行uptime命令并比较平均负载。

uptime

sudo stress --cpu 8 --timeout 20

uptime

生成8个工作进程并超时30秒,显示出相关操作详细信息:

uptime

sudo stress --cpu 8 -v --timeout 30s

uptime

生成一个工作程序具有malloc和free功能,超时时间为60s:

uptime

sudo stress --vm 1 --timeout 60s

uptime
为了在系统中生成 4 个基于 sqrt() 的 CPU 工作进程、2 个基于 sync() 的 I/O 工作进程、2 个基于 malloc()/free() 的内存工作进程,超时时间为 20 秒,并为每个内存工作进程分配 256MB 内存,可以运行以下命令:

uptime

sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s

uptime

Linux中stress-ng的安装方法:

sudo apt install stress-ng [在Debian、Ubuntu 和 Mint 上]

sudo yum install stress-ng [在RHEL/CentOS/Fedora和Rocky/AlmaLinux 上]

sudo emerge -a sys-apps/stress-ng [在Gentoo Linux上]

sudo apk add stress-ng [在Alpine Linux上]

sudo pacman -S stress-ng [在Arch Linux 上]

sudo zypper install stress-ng [在OpenSUSE 上]     

sudo pkg install stress-ng [在 FreeBSD 上]

使用语法:

sudo stress-ng option argument

运行 8 个 CPU 压力测试器,超时时间为 60 秒,并在操作结束时进行总结。

uptime

sudo stress-ng --cpu 8 --timeout 60 --metrics-brief

uptime

华纳云 推荐文章
Windows服务器上安装.NET指南 AI驱动的C#重构实践:从参数对象模式到异步编程的自动化演进 Linux bmon命令常用方法的分享 动态VPS服务器上设置IIS的完整流程 硬件强制栈保护对提升程序性能的影响 从VS Code配置到性能调优全流程 云原生AI算力服务器集群架构设计与关键技术解析 新加坡数据中心生态性能、设施与合规性评测 宝塔Linux面板的功能、支持系统及安装指南 美国原生节点是提升网络体验与业务效率的关键选择
客服咨询
7*24小时技术支持
技术支持
渠道支持