Windows、Linux系统上进行CPU和内存压力测试

CPU和内存压力测试

1. Linux环境

Linux环境下,我们可以用 stress 工具进行内存、CPU等的压力测试。

【1】. stress工具说明

[kalami@kysrv1 ~]$ stress --help
`stress' imposes certain types of compute stress on your systemUsage: 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)Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10sNote: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).
[kalami@kysrv1 ~]$

【2】. CPU压力测试

命令格式如下:

stress -c 10 -v --timeout 10s

模拟10个任务。

在这里插入图片描述

top命令查看压力测试效果:

在这里插入图片描述

【3】. 内存压力测试

命令格式如下:

stress --vm 20 --vm-bytes 4096M --timeout 10s

压力测试前的内存情况如下:

在这里插入图片描述

执行内存压力测试:

在这里插入图片描述

top命令查看压力测试效果:

在这里插入图片描述

2. Windows环境

CPU压力测试推荐使用 CpuStres 工具,内存压力测试推荐使用 Testlimit 工具。

【1】. 压力测试工具

CpuStres工具

CpuStres 工具可以通过在紧密循环中运行多达 64 个线程来模拟 CPU 活动。

下载地址(中文): CpuStres - Sysinternals | Microsoft Learn

https://learn.microsoft.com/zh-cn/sysinternals/downloads/cpustres

在这里插入图片描述

下载地址(英文): CpuStres - Sysinternals | Microsoft Learn

https://learn.microsoft.com/en-us/sysinternals/downloads/cpustres

在这里插入图片描述

Testlimit工具

Testlimit 是一种命令行实用工具,可用于通过模拟内存、句柄、进程、线程和其他系统对象的低资源条件来对电脑和/或应用程序进行压力测试。

下载地址(中文): Testlimit - Sysinternals | Microsoft Learn

https://learn.microsoft.com/zh-cn/sysinternals/downloads/testlimit

在这里插入图片描述

下载地址(英文): Testlimit - Sysinternals | Microsoft Learn

https://learn.microsoft.com/en-us/sysinternals/downloads/testlimit

在这里插入图片描述

解压测试工具包。

在这里插入图片描述

【2】. CPU压力测试

CpuStres 工具可以通过在紧密循环中运行多达 64 个线程来模拟 CPU 活动。

双击运行 CPUSTRES.EXE 工具,界面如下图所示:

在这里插入图片描述

增加工作线程

方法一:

菜单-->Process-->Create 4 Threads

在这里插入图片描述

方法二:

主视图空白处-->右键菜单-->Create 4 Threads

在这里插入图片描述

方法三:

工具栏-->点击“Create Thread” 按钮

在这里插入图片描述

设置工作线程优先级

方法一:

菜单栏-->Process-->Priority Class

在这里插入图片描述

方法二:

主视图空白处-->右键菜单-->Priority Class

在这里插入图片描述

设置工作线程运行级别

方法:

菜单栏-->Thread-->Activity Level

在这里插入图片描述

压力测试

设置线程数-->选中相关线程-->设置优先级

在这里插入图片描述

选中相关线程-->设置运行级别

在这里插入图片描述

选中相关线程-->运行

在这里插入图片描述

开始CPU压力测试

在这里插入图片描述

CPU曲线

在这里插入图片描述

【3】. 内存压力测试

Testlimit 是一种命令行实用工具,可用于通过模拟内存、句柄、进程、线程和其他系统对象的低资源条件来对电脑和/或应用程序进行压力测试。

用法: Testlimit [[-h [-u]] | [-p [-n]] | [-t [-n [KB]]] | [-u [-i]] | [-g [对象大小]] | [-a|-d|-l|-m|-r|-s|-v [MB]] | [-w]] [-c [计数]] [-e [秒数]]

参数说明
-a以指定的 MB 单位泄漏地址窗口扩展 (AWE) 内存(默认值为 1)
-c要分配的对象计数(默认值是“尽可能多”)。 这必须是指定的最后一个选项
-d以指定的 MB 单位泄漏和触摸内存(默认值为 1)
-e两次分配之间经过的秒数(默认值为 0)
-g创建指定大小的 GDI 句柄(默认为 1 字节)。 将大小指定为 0 将导致 GDI 对象耗尽
-h创建句柄。 指定 -u 也会分配文件对象
-i耗尽 USER 桌面堆
-l分配指定数量的大页面
-m以指定的 MB 单位泄漏内存(默认值为 1)
-p创建进程 - 添加 -n 以设置最小工作集。 添加 -n 以将进程的最小工作集设置为最小
-r以指定的 MB 单位保留内存(默认值为 1)
-s以指定的 MB 单位泄露共享内存(默认值为 1)
-t创建线程 - 添加 -n 以指定最小堆栈保留(以 KB 为单位)
-u创建菜单的 USER 句柄
-v以指定的 MB 单位对内存执行 VirtualLock(默认值为 1)
-w将工作集最小值重置为最高可能值

英文说明

usage: testlimit [[-h [-u]] | [-p [-n]] | [-t [-n [KB]]] | [-u [-i]] | [-g [object size]] | [-a|-d|-l|-m|-r|-s|-v [MB]] | [-w]] [-c [count]] [-e [seconds]]-a       Leak Address Windowing Extensions (AWE) memory inspecified MBs (default is 1).-c       Count of number of objects to allocate (default is as many aspossible). This must be the last option specified.-d       Leak and touch memory in specified MBs (default is 1).-e       Seconds elapsed between allocations (default is 0).-g       Create GDI handles of specified size (default 1 byte).Specify a size of 0 to cause GDI object exhaustion.-h       Create handles. Specify -u to also allocate file objects.-i       Exhaust USER desktop heap.-l       Allocate the specified amount of large pages (rounded to largesize multiple.-m       Leak memory in specified MBs (default is 1).-p       Create processes - add -n to set min working set. Add -n toset min working set of processes to smallest.-r       Reserve memory in specified MBs (default is 1).-s       Leak shared memory in specified MBs (default is 1).-t       Create threads - add -n to specify minimum stack reserve (in KB).-u       Create USER handles to menus.-v       VirtualLock memory in specified MBs (default is 1).-w       Reset working set minimum to highest possible value.

进行内存压力测试

Testlimit.exe -v 512 -p 10

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/34.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

STM32使用串口下载程序

STM32使用串口下载程序 FluMcu软件下载地址 单片机在线编程网 STM32 MCU启动模式配置(Boot Configuration) 单片机复位后,SYSCLK的第4个上升沿,BOOT引脚上的值将锁存,用户可以通过设置BOOT0和BOOT1引脚的值,来选择复位后的启动…

每天五分钟深度学习pytoroch:基于pytorch搭建逻辑回归算法模型

本文重点 前面我们学习了线性回归模型的搭建,无论是基于pytorch还是不基于pytorch,以上的模型都是回归模型,本文我们将使用pytorch搭建逻辑回归模型,逻辑回归模型是一个经典的分类问题。 模型搭建 class LogisticRegression(nn.Module) : def __init__(self) :super (Lo…

Mybatis-18.动态SQL-sqlinclude

一.sql&include 为什么需要<sql>和<include>标签&#xff1f; 这是因为这些代码是重复的&#xff0c;能够消除重复会提高代码的可读性和效率。 那我们就可以使用<sql>标签对这些片段进行一个抽取。然后在原来抽取的地方再将这个<sql>片段引用进来。…

探索开源MiniMind项目:让大语言模型不再神秘(1)

简介&#xff1a; 声明&#xff1a;本人非此项目作者&#xff0c;仅仅是探索项目&#xff0c;分享项目。如有不妥&#xff0c;请联系我删除&#xff01; 原项目地址&#xff1a;GitHub - jingyaogong/minimind: 「大模型」3小时完全从0训练26M的小参数GPT&#xff0c;个人显卡即…

HTML 基础标签——文本内容标签 <ul>、<ol>、<blockquote> 、<code> 等标签的用法详解

文章目录 1. 标题标签2. 段落标签3. 文本格式化标签4. 列表标签4.1 无序列表 `<ul>`4.2 有序列表 `<ol>`5. 引用标签5.1 块引用 `<blockquote>`5.2 行内引用 `<q>`5.3 作品引用 `<cite>`6. 代码和预格式文本标签6.1 代码标签 `<code>`6.2 …

qt QMenuBar详解

1、概述 QMenuBar是Qt框架中用于创建菜单栏的类&#xff0c;它继承自QWidget。QMenuBar通常位于QMainWindow对象的标题栏下方&#xff0c;用于组织和管理多个QMenu&#xff08;菜单&#xff09;和QAction&#xff08;动作&#xff09;。菜单栏提供了一个水平排列的容器&#x…

GenAI 生态系统现状:不止大语言模型和向量数据库

自 20 个月前 ChatGPT 革命性的推出以来&#xff0c;生成式人工智能&#xff08;GenAI&#xff09;领域经历了显著的发展和创新。最初&#xff0c;大语言模型&#xff08;LLMs&#xff09;和向量数据库吸引了最多的关注。然而&#xff0c;GenAI 生态系统远不止这两个部分&#…

聪明的你能从千门八将108局学到什么,对你的未来人生有哪些深远的影响?

千门八将108局&#xff1a;智慧的启迪与人生指引 在古老智慧的宝库中&#xff0c;千门八将108局犹如璀璨星辰&#xff0c;闪耀着神秘而深邃的光芒。那些认真钻研过这些局的人&#xff0c;仿佛经历了一场穿越时空的智慧洗礼&#xff0c;从中收获了无价的人生财富。 一、从千门八…

GraphQL 与 Elasticsearch 相遇:使用 Hasura DDN 构建可扩展、支持 AI 的应用程序

作者&#xff1a;来自 Elastic Praveen Durairaju GraphQL 提供了一种高效且灵活的数据查询方式。本博客将解释 Hasura DDN 如何与 Elasticsearch 配合使用&#xff0c;以实现高性能和元数据驱动的数据访问。 此示例的代码和设置可在此 GitHub 存储库 - elasticsearch-subgraph…

根据问题现象、用户操作场景及日志打印去排查C++软件问题,必要时尝试去复现问题

目录 1、概述 2、通过现有信息无法定位问题时&#xff0c;则需要尝试去复现问题 3、非崩溃问题与崩溃问题的一般排查思路 3.1、非崩溃问题的排查思路 3.2、崩溃问题的排查思路 4、难以复现问题的可能原因总结 4.1、问题难以复现&#xff0c;可能和某种特殊的业务场景或操…

11-Dockerfile

11-Dockerfile Dockerfile Dockerfile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 构建步骤&#xff1a; 编写Dockerfile文件docker build命令构建镜像docker run依据镜像运行容器实例 构建过程 Dockerfile编写&#xff1a…

CMS getshell

进入前台 漏洞为前台任意用户密码修改和前台用户文件上传然后getshell 1. 弱口令进入前台用户admin123/admin123 2. 进入会员用户后点击内容中心 点击发布文章 存在文件上传&#xff0c;发现后缀和MIME类型都是白名单 但是在原文件的基础上继续添加随意后缀&#xff0c;发现成功…

Java使用apache.commons.io框架下的FileUtils类实现文件的写入、读取、复制、删除

Apache Commons IO 是 Apache 开源基金组织提供的一组有关IO&#xff08;Input/Output&#xff09;操作的小框架&#xff0c;它是 Apache Commons 项目的一部分&#xff0c;专注于提供简单易用的 API&#xff0c;用于处理输入和输出操作。Apache Commons IO 是一个功能强大的 J…

CRON组件一个复杂的一个简单的

CRON组件一个复杂的一个简单的 一个是复杂点的一个是简单点。 1.以简单的为例使用&#xff1a; 父组件 import CronSimple from "/views/xxx/components/cron-simple/index.vue";components: {CronSimple}<el-dialog title"调度CRON"v-if"cronV…

Kubernetes容器日志处理方案

Kubernetes容器日志处理方案 50-Kubernetes容器日志处理方案 0 前言 k8s里面对容器日志的处理都叫cluster-level-logging&#xff0c;即该日志处理系统&#xff0c;与容器、Pod及Node的生命周期完全无关。这种设计当然为保证&#xff0c;无论容器挂、Pod被删&#xff0c;甚至节…

【青牛科技】GC4921替代BD6921/罗姆在水泵、筋膜枪、吸尘器和电动工具中的应用

在现代电动设备中&#xff0c;电机驱动控制器的选择对设备的性能和效率至关重要。GC4921作为一种新型的电机驱动控制器&#xff0c;逐渐被视为BD6921/罗姆的替代品。本文将对GC4921与BD6921进行对比&#xff0c;探讨其在水泵、筋膜枪、吸尘器和电动工具等设备中的应用优势。 1…

Android OpenGL ES详解——裁剪Scissor

目录 一、概念 二、如何使用 1、开启裁剪测试 2、关闭裁剪测试 3、指定裁剪窗口&#xff08;位置和大小&#xff09; 4、裁剪应用举例 三、窗口、视⼝和裁剪区域三者区别 四、源码下载 一、概念 定义1&#xff1a; 裁剪是OpenGL中提⾼渲染的⼀种方式&#xff0c;只刷新…