c++ - 如何编写 C 或 C++ 程序来充当内存和 CPU 周期填充器?

标签 c++ c unix memory cpu-usage

我想测试一个程序的内存管理能力,例如(比如说,程序名称是director)

  1. 如果其他一些进程占用太多内存,而director 运行的内存太少,会发生什么情况?导演的表现如何?
  2. 如果在 director 运行时其他程序占用了过多的 CPU 周期会怎样?
  3. 如果其他程序使用的内存在一段时间后被释放会怎样?导演如何要求内存并开始全力工作。 等

我将在 Unix 机器上进行这些实验。一种方法是使用 ulimit 限制进程可用的内存量。 ,但是没有很好的方法来控制 CPU 周期利用率。

我有另一个想法。 如果我用 C 或 C++ 编写一些充当动态内存和 CPU 填充器的程序,即没有任何用处,但无论如何都会占用内存和/或 CPU 周期,该怎么办?

  • 我需要一些关于如何构建这样一个程序的想法。我需要对使用的内存和 CPU 进行动态(运行时)控制。
  • 我认为创建大量线程将是阻塞 CPU 周期的好方法。对吗?

我可以使用更好的方法吗?

欢迎提出任何想法/建议/意见。

最佳答案

http://weather.ou.edu/~apw/projects/stress/

Stress 是一个专门为 POSIX 系统设计的简单工作负载生成器。它对系统施加可配置数量的 CPU、内存、I/O 和磁盘压力。它是用 C 语言编写的,是根据 GPLv2 许可的自由软件。

您寻求的功能与“测试工具”的功能集重叠。所以也请查看http://ltp.sourceforge.net/tooltable.php .

关于c++ - 如何编写 C 或 C++ 程序来充当内存和 CPU 周期填充器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3610941/

相关文章:

c - Void 函数抛出 "no return statement"警告

linux - 使用 Perl 将数据 block 转换为表格格式

c++ - 什么是使用 __if_exists 的好案例?

C++ 初始化列表 - 我不明白

c++ - 当你完美转发时,typename T 变成 T& 或 T&&,但当你不这样做时,T 根本不是引用。如何?

javascript - C语言的DDP服务器

c++ - 析构函数和复制构造函数调用..(为什么在这些时候调用它)

c - 后增量、前增量和运算符优先级

C exec,awk,不工作

linux - 如何在命令行中使用 aspell