所以我问自己如果我尝试在 Windows XP 上进行堆溢出会发生什么,我很惊讶地看到,一旦程序“吃掉”了所有的 RAM(顺便说一句,这会立即发生),任务管理器中的进程下降到 5MB,之后不再移动。然而,计算机内存使用量仍在增长。
那么为什么 Windows 看不到我的软件占用了 GB 的内存呢?我觉得这可能是一个安全问题,因为一旦软件吃掉了所有内存,它就可以“隐藏”在小进程组中(也许我有点偏执)。
注意:当堆满时没有任何反应,cpu 只是跳到 100%,因为一旦 malloc 失败,我的 for(;;) 循环就会疯狂地运行。
编辑:好的!从来不知道您可以调整任务管理器列。我今天学到了一些东西:D。