最大化内存使用量

Maximizing memory usage

本文关键字:使用量 内存 最大化      更新时间:2023-10-16

他们的任何程序都可以在C++中最大化内存使用率,直到它到达"内存转储"(蓝屏然后重新启动)。只是好奇,在Windows xp上执行此操作。它需要什么?带有乘法或加法的无限循环是否可以最大化内存使用率?我认为没有。它只会增加CPU使用率(但遗憾的是没有达到10-20%)。那怎么办?

分配变量时使用内存。最快的方法是预先分配一个非常大的数组,或者在循环中使用newmalloc

while (true)
{
    new int[10000];
}

这最终会在内存不足时引发异常。

如果您希望耗尽所有可用内存,那么只需执行以下操作:

int main()
{
  while(true)
  {
    char *buffer=new char[1024];
  }
  return 0;
}

这将占用 1K 块中的内存。但是,所有这些都会导致您的进程可用的所有虚拟内存(在 2 位 Windows 上约为 32GB)被消耗,此时您的程序将倒闭并死亡,而不会影响其他任何人。

如果你想写一些东西,导致

Windows在内存不足时崩溃,那么你需要在内核空间中运行你的代码,所以你需要写一些类似设备驱动程序的东西。