我试图在特定的工作负载下测试服务器。我使用压力ng来模拟x%的cpu负载:stress-ng -c 1 -l x
我还试图使用应激-ng来模拟x兆字节的内存负载:stress-ng -vm 1 --vm-bytes xM。此命令创建一个vm压力源,大致分配所请求的内存量。但是,它也会产生100%的cpu利用率。我的猜测是,这是由于压力源不断访问分配的内存,以迫使它被映射到真正的记忆。
有没有办法限制内存压力源所使用的CPU数量?
发布于 2022-06-12 02:10:28
stress-ng对系统的打击总是很大。例如,--cpu-method选项有最好的文档,以“使CPU运行热”。“它被设计用来操作计算机的各种物理子系统以及各种操作系统内核接口。”
如果你好奇的话,详细描述一下它到底能做些什么。轻松地在Linux上安装调试符号然后安装perf top是一个很好的开始。无论是压力测试还是其他应用。
对于-vm、mmap()、触摸页面和munmap(),在一个紧密的循环中将是残酷的虚拟内存系统,并成为内存瓶颈。每个时钟的指令可能会很糟糕,而不是显示当数据被保存时CPU可以做什么。主机度量级别的症状将包括非常大的系统CPU时间。
stress-ng -vm 1 --vm-hang 0将在触摸内存之后无限期地休眠虚拟内存(VM)工作人员。如果您想要分配一个大的匿名内存区域,但不想对它做任何事情,请尝试这样做。可疑的效用,我怀疑,但你可以做到。
这将不像实际应用程序那样执行:
stress-ng没有做有用的工作;这不是一个基准。stress-ng有文件压力源,但毫不奇怪,它们会对系统造成严重打击。确保主人不会在压力下跌倒仍然是有用的。
发布于 2022-09-19 13:35:19
一般来说,-l <percent>可以限制cpu的使用,所以如果它在50 %的使用率上使用6个核心,我会这样做:
stress-ng -c 6 -l 50应该指出,文档声明:“此选项仅适用于--cpu压力源选项,而不适用于压力源的所有cpu类。”曼佩奇。
https://serverfault.com/questions/1102624
复制相似问题