在Linux上施加高CPU负载和压力测试,牛皮!
微调系统上的活动。
监控操作系统内核接口。
测试您的Linux硬件组件,例如CPU、内存、磁盘设备和许多其他组件,以观察它们在压力下的性能。
测量系统上不同的功耗负载。
今天介绍两个重要的工具:stress和stress-ng,用于Linux系统下进行压力测试:
1. stress是一种工作负载生成器工具,旨在让您的系统承受CPU、内存、I/O 和磁盘压力的可配置测量。
2. stress -ng – 是压力工作负载生成器工具的更新版本,可测试您的系统的以下功能:
CPU 计算
驱动压力
I/O 同步
管道 I/O
缓存抖动
虚拟机压力
socket压力
进程创建和终止
上下文切换属性
重要提示:强烈建议您以root用户权限使用这些工具,因为它们可以如此快速地对您的Linux机器施加压力,并避免在设计不佳的硬件上出现某些系统错误。
如何在Linux中安装stress工具
在Linux上安装stress,您需要有EPEL存储库,然后键入以下yum命令进行安装:
# yum install stress
stress的使用方法:
$ sudo stress option argument
要产生N个在 sqrt() 函数上运行的worker,请使用–cpu N选项。
要生成在malloc()/free() 函数上运行的N个工作程序,请使用–vm N选项。
要为每个vm worker分配内存,请使用–vm-bytes N选项。
您可以使用–timeout N选项在N秒后设置超时。可以使用–vm-keep选项重新分配内存,而不是释放和重新分配内存资源。
使用–vm-hang N选项在释放内存之前将睡眠设置为N秒。
要产生N个在 write()/unlink() 函数上旋转的工作人员,请使用–hdd N选项。
您可以使用–timeout N选项在N秒后设置超时。
通过使用–backoff N选项在任何工作开始之前设置N微秒的等待。
1. 要检查每次运行命令的效果,首先运行uptime命令并记下平均负载。
接下来,运行压力命令以生成8个在sqrt()上运行的worker,超时时间为20秒。运行压力后,再次运行uptime命令并比较负载平均值。
1. 安装stress-ng
要安装stress-ng,请运行以下命令。
# yum install stress-ng [在基于RedHat的系统上]
使用stress-ng的一般语法是:
$ sudo stress-ng 选项参数
您可以与stress-ng一起使用的一些选项参数:
要启动每个压力测试的N个实例,请使用–all N选项,如下所示。
要通过顺序执行所有不同的CPU压力测试方法来启动N个进程来锻炼CPU,请使用–cpu N选项,如下所示。
要使用给定的CPU压力测试方法,请使用–cpu-method选项。您可以使用许多方法,查看手册页以查看所有要使用的方法。
要在N个bogo操作后停止CPU压力过程,请使用–cpu-ops N选项。
要启动NI/O压力测试过程,请使用–io N选项。
要在N个bogo操作后停止io压力过程,请使用–io -ops N选项。
要启动N个vm 压力测试进程,请使用–vm N选项。
要指定每个vm进程的内存量,请使用–vm-bytes N选项。
要在N个bogo操作后停止vm压力进程,请使用–vm-ops N个选项。
使用–hdd N选项启动N个硬盘运行进程。
要在N个bogo操作后停止硬盘压力过程,请使用–hdd-ops N选项。
您可以使用–timeout N选项在N秒后设置超时。
您还可以使用–dir N选项启动N个进程,这些进程将使用mkdir和rmdir 创建和删除目录。
使用-h查看stress-ng 的帮助。
2. 如何在Linux系统中使用stress-ng
往期推荐