我想测试一个程序的内存管理能力,例如(比如说,程序名称是director)
- 如果其他一些进程占用太多内存,而director 运行的内存太少,会发生什么情况?导演的表现如何?
- 如果在 director 运行时其他程序占用了过多的 CPU 周期会怎样?
- 如果其他程序使用的内存在一段时间后被释放会怎样?导演如何要求内存并开始全力工作。 等
我将在 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/