Windows、Linux体系上举行CPU和内存压力测试

农民  金牌会员 | 2024-11-2 16:43:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 881|帖子 881|积分 2643

CPU和内存压力测试

1. Linux情况

Linux情况下,我们可以用 stress 工具举行内存、CPU等的压力测试。
【1】. stress工具说明

  1. [kalami@kysrv1 ~]$ stress --help
  2. `stress' imposes certain types of compute stress on your system
  3. Usage: stress [OPTION [ARG]] ...
  4. -?, --help         show this help statement
  5.      --version      show version statement
  6. -v, --verbose      be verbose
  7. -q, --quiet        be quiet
  8. -n, --dry-run      show what would have been done
  9. -t, --timeout N    timeout after N seconds
  10.      --backoff N    wait factor of N microseconds before work starts
  11. -c, --cpu N        spawn N workers spinning on sqrt()
  12. -i, --io N         spawn N workers spinning on sync()
  13. -m, --vm N         spawn N workers spinning on malloc()/free()
  14.      --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
  15.      --vm-stride B  touch a byte every B bytes (default is 4096)
  16.      --vm-hang N    sleep N secs before free (default none, 0 is inf)
  17.      --vm-keep      redirty memory instead of freeing and reallocating
  18. -d, --hdd N        spawn N workers spinning on write()/unlink()
  19.      --hdd-bytes B  write B bytes per hdd worker (default is 1GB)
  20. Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
  21. Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).
  22. [kalami@kysrv1 ~]$
复制代码
【2】. CPU压力测试

命令格式如下:
  1. stress -c 10 -v --timeout 10s
复制代码
模拟10个任务。

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

【3】. 内存压力测试

命令格式如下:
  1. stress --vm 20 --vm-bytes 4096M --timeout 10s
复制代码
压力测试前的内存情况如下:

执行内存压力测试:

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

2. Windows情况

CPU压力测试保举利用 CpuStres 工具,内存压力测试保举利用 Testlimit 工具。
【1】. 压力测试工具

CpuStres工具
CpuStres 工具可以通过在紧密循环中运行多达 64 个线程来模拟 CPU 活动。
下载地点(中文): CpuStres - Sysinternals | Microsoft Learn
  1. https://learn.microsoft.com/zh-cn/sysinternals/downloads/cpustres
复制代码

下载地点(英文): CpuStres - Sysinternals | Microsoft Learn
  1. https://learn.microsoft.com/en-us/sysinternals/downloads/cpustres
复制代码

Testlimit工具
Testlimit 是一种命令行实用工具,可用于通过模拟内存、句柄、进程、线程和其他体系对象的低资源条件来对电脑和/或应用步伐举行压力测试。
下载地点(中文): Testlimit - Sysinternals | Microsoft Learn
  1. https://learn.microsoft.com/zh-cn/sysinternals/downloads/testlimit
复制代码

下载地点(英文): Testlimit - Sysinternals | Microsoft Learn
  1. https://learn.microsoft.com/en-us/sysinternals/downloads/testlimit
复制代码

解压测试工具包。

【2】. CPU压力测试

CpuStres 工具可以通过在紧密循环中运行多达 64 个线程来模拟 CPU 活动。
双击运行 CPUSTRES.EXE 工具,界面如下图所示:

增加工作线程
方法一:
  1. 菜单-->Process-->Create 4 Threads
复制代码

方法二:
  1. 主视图空白处-->右键菜单-->Create 4 Threads
复制代码

方法三:
  1. 工具栏-->点击“Create Thread” 按钮
复制代码

设置工作线程优先级
方法一:
  1. 菜单栏-->Process-->Priority Class
复制代码

方法二:
  1. 主视图空白处-->右键菜单-->Priority Class
复制代码

设置工作线程运行级别
方法:
  1. 菜单栏-->Thread-->Activity Level
复制代码

压力测试
  1. 设置线程数-->选中相关线程-->设置优先级
复制代码

  1. 选中相关线程-->设置运行级别
复制代码

  1. 选中相关线程-->运行
复制代码

开始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将工作集最小值重置为最高大概值 英文说明
  1. 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]]
  2.   -a       Leak Address Windowing Extensions (AWE) memory in
  3.            specified MBs (default is 1).
  4.   -c       Count of number of objects to allocate (default is as many as
  5.            possible). This must be the last option specified.
  6.   -d       Leak and touch memory in specified MBs (default is 1).
  7.   -e       Seconds elapsed between allocations (default is 0).
  8.   -g       Create GDI handles of specified size (default 1 byte).
  9.            Specify a size of 0 to cause GDI object exhaustion.
  10.   -h       Create handles. Specify -u to also allocate file objects.
  11.   -i       Exhaust USER desktop heap.
  12.   -l       Allocate the specified amount of large pages (rounded to large
  13.            size multiple.
  14.   -m       Leak memory in specified MBs (default is 1).
  15.   -p       Create processes - add -n to set min working set. Add -n to
  16.            set min working set of processes to smallest.
  17.   -r       Reserve memory in specified MBs (default is 1).
  18.   -s       Leak shared memory in specified MBs (default is 1).
  19.   -t       Create threads - add -n to specify minimum stack reserve (in KB).
  20.   -u       Create USER handles to menus.
  21.   -v       VirtualLock memory in specified MBs (default is 1).
  22.   -w       Reset working set minimum to highest possible value.
复制代码
举行内存压力测试
  1. Testlimit.exe -v 512 -p 10
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表