[转帖]在Linux上施加高CPU负载和压力测试,牛皮!

linux,施加,cpu,负载,压力,测试,牛皮 · 浏览次数 : 0

小编点评

**使用stress和stress-ng工具进行Linux系统性能测试** **1. 安装stress工具** - 使用yum库安装stress:`sudo yum install stress` - 使用pip库安装stress:`pip install stress` **2. 使用stress工具测试CPU性能** - 使用`stress`命令生成8个在sqrt()上运行的worker,超时时间为20秒: ``` stress -c 8 --timeout 20 ``` - 使用`stress -ng`命令生成8个在sqrt()上运行且超时为30秒的worker,并显示有关操作的详细信息: ``` stress-ng -c 8 --timeout 30 --info ``` **3. 使用stress-ng工具测试内存性能** - 使用`stress-ng`命令生成一个具有60秒超时时间的malloc()和free()函数的worker: ``` stress-ng -c 1 -vm-bytes 60 ``` **4. 使用stress-ng工具测试I/O性能** - 使用`stress-ng`命令生成一个具有60秒超时时间的write()/unlink()函数的worker: ``` stress-ng -c 1 -hdd 60 ``` **5. 使用stress-ng工具测试磁盘性能** - 使用`stress-ng`命令生成一个具有60秒超时时间的malloc()和free()函数的worker: ``` stress-ng -c 1 -vm-bytes 60 ``` **6. 使用stress-ng工具测试虚拟内存性能** - 使用`stress-ng`命令生成一个具有60秒超时时间的malloc()和free()函数的worker,并指定每个vm进程的内存量: ``` stress-ng -c 1 -vm-bytes 60 --vm-name vm1 ``` **7. 使用stress-ng工具测试I/O性能** - 使用`stress-ng`命令生成一个包含4个I/O线程的任务,并指定每个vm进程的内存量: ``` stress-ng -c 4 -io 2 --vm-name vm1 ```

正文

https://cloud.tencent.com/developer/article/2048995

 

在日常工作中,CPU压力测试是一项常见的工作,主要用到如下场景:

  1. 微调系统上的活动。
  2. 监控操作系统内核接口。
  3. 测试您的Linux硬件组件,例如CPU、内存、磁盘设备和许多其他组件,以观察它们在压力下的性能。
  4. 测量系统上不同的功耗负载。

今天介绍两个重要的工具:stressstress-ng,用于Linux系统下进行压力测试:

1. stress是一种工作负载生成器工具,旨在让您的系统承受CPU、内存、I/O 和磁盘压力的可配置测量

2. stress -ng – 是压力工作负载生成器工具的更新版本,可测试您的系统的以下功能:

  • CPU 计算
  • 驱动压力
  • I/O 同步
  • 管道 I/O
  • 缓存抖动
  • 虚拟机压力
  • socket压力
  • 进程创建和终止
  • 上下文切换属性

重要提示:强烈建议您以root用户权限使用这些工具,因为它们可以如此快速地对您的Linux机器施加压力,并避免在设计不佳的硬件上出现某些系统错误。

如何在Linux中安装stress工具

一. 安装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微秒的等待。

二. 如何在Linux系统上使用stress

1. 要检查每次运行命令的效果,首先运行uptime命令并记下平均负载

接下来,运行压力命令以生成8个在sqrt()上运行的worker,超时时间为20秒。运行压力后,再次运行uptime命令并比较负载平均值。

2. 要生成8个在sqrt()上运行且超时为30秒的worker,显示有关操作的详细信息,请运行以下命令:

3. 要生成一个具有60秒超时时间的malloc()和free()函数的worker,请运行以下命令:

4. 要在sqrt()上生成4个worker,在sync()上生成2个worker,在 malloc()/free()上生成2个worker,超时时间为20秒,并为每个vm worker分配 256MB 的内存,运行这个下面的命令:

三. 在Linux中安装stress-ng工具

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

a. 运行8个CPU压力源,超时时间为60秒,并在操作结束时进行汇总。

b. 运行4个FFT CPU压力源,超时时间为2分钟。

c. 要运行5个硬盘压力源并在100000次bogo操作后停止,请运行此命令:

d. 要使用1GB虚拟内存运行8个CPU压力源、4个I/O压力源和1个虚拟内存压力源一分钟,请运行以下命令:

这些工具应该与超级用户权限一起使用,因为它们对系统有一定的影响。这些工具适用于Linux中的系统管理。

转载:

https://www.toutiao.com/article/7093346092426854949/?log_from=0332f7d8828d1_1651700908635

与[转帖]在Linux上施加高CPU负载和压力测试,牛皮!相似的内容:

[转帖]在Linux上施加高CPU负载和压力测试,牛皮!

https://cloud.tencent.com/developer/article/2048995 在日常工作中,CPU压力测试是一项常见的工作,主要用到如下场景: 微调系统上的活动。 监控操作系统内核接口。 测试您的Linux硬件组件,例如CPU、内存、磁盘设备和许多其他组件,以观察它们在压力

[转帖] 在Linux上查看活跃线程数与连接数

https://www.cnblogs.com/codelogs/p/17178675.html 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介# 现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一

[转帖]在麒麟linux上安装Postgresql12.5

https://jimolonely.github.io/tech/linux/install-postgresql-kylin/ 本文主要实践在麒麟V10版本上通过源码编译安装PostgreSQL12.5,因为是源码编译,所以对于其他版本也具有参考性。 麒麟版本 V10 $ uname -a Li

[转帖]在麒麟Linux安装Postgis

https://jimolonely.github.io/tech/linux/install-postgis-kylin/ 接着上一篇在麒麟linux上安装Postgresql12.5 ,我们来安装 PostGIS插件。 方案 因为 PostgreSQL不是通过 rpm包安装的,所以即便 Post

[转帖]在 Linux 下 9 个有用的 touch 命令示例

https://linux.cn/article-9597-1.html touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。 让我们来看看 touch 命令的语法和选项: 语法: # touch {

[转帖]xsos:一个在 Linux 上阅读 SOSReport 的工具

https://www.sohu.com/a/315931829_100034897 xsos 是一个帮助用户轻松读取 Linux 系统上的 sosreport 的工具。另一方面,我们可以说它是 sosreport 考官。 -- Magesh Maruthamuthu(作者) 我们都已经知道 SOS

[转帖]如何在 Linux 中使用ss命令监控网络连接

https://zhuanlan.zhihu.com/p/99421574 ss命令是用于在Linux系统上显示与网络套接字相关的信息的工具。 该工具显示netstat命令的更多详细信息,该命令用于显示活动的套接字连接。 在本教程中,我们会举例说明ss命令如何用于在Linux中显示各种网络连接信息。

[转帖]使用 find 命令在 Linux 上查找文件和目录

https://linux.cn/article-14071-1.html 学习 find 命令的原因有很多。 不管我决心如何组织文件,似乎总有无法找到文件的时候。有时是因为我不记得最初的文件名,其他时候,我知道名字,但我不记得在哪里保存它了。甚至有时我需要一个我最初就没有创建的文件。但是,无论遇到

[转帖]使用S3F3在Linux实例上挂载Bucket

https://docs.jdcloud.com/cn/object-storage-service/s3fs S3F3是基于FUSE的文件系统,允许Linux 挂载Bucket在本地文件系统,S3fs能够保持对象原来的格式。使用S3F3可以把Bucket当成一个文件夹挂载到Linux系统内部,当成

[转帖] q命令-用SQL分析文本文件

https://www.cnblogs.com/codelogs/p/16060830.html 简介# 在Linux上分析文本文件时,一般会使用到grep、sed、awk、sort、uniq等命令,但这些命令都有一定的学习成本,而如果是用SQL来分析数据的话,这对广大后端程序员来说,就要简单很多了