如何在c#中尽快填充内存

Big*_*osh 8 c# memory-management

一位采访者刚问我一个以前没想过的特殊问题.

"你如何在C#中尽快填满计算机内存?"

我回答说我可能会使用某种递归函数,但他指出在填充内存之前我可能会得到堆栈溢出.

我的问题很简单,我如何使用C#尽快填写计算机内存?

And*_*son 8

我要用叉炸弹:

while (true) Process.Start(Assembly.GetExecutingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

这个概念很熟悉,程序无休止地开始自己的新实例.

  • 这最终会使CPU占用更多,并使系统无响应.这不完全回答问题. (3认同)
  • @TheodorosChatzigiannakis是的,快得多.但是,空缓冲区不一定从RAM中获取 - 为此目的存在预先归零的内存页 - 它们仅在您实际写入某些数据时分配.这是在操作系统级别完成的,因此很难绕过.复制一些图像可能是更好的选择.虽然叉子炸弹的主要"优点"不是内存使用 - 它是如何通过高优先级工作来淹没整个计算机的. (2认同)
  • @Josh不是暗示吗?我们要写的任何程序,应该不会崩溃吗?否则不会质疑"写程序崩溃"? (2认同)