gpt4 book ai didi

operating-system - 虚拟内存耗尽时会发生什么

转载 作者:行者123 更新时间:2023-12-01 15:47:56 24 4
gpt4 key购买 nike

我发布这个问题是因为我无法在 google 和 stackoverflowing 上找到答案...

问题是:当虚拟内存的交换空间耗尽时会发生什么。当所有 RAM 和虚拟内存都用完时,操作系统如何处理这种情况。

是偷偷占用硬盘空间,还是通知异常

最佳答案

我假设您所说的虚拟内存指的是交换空间(它们在技术上是不同的概念)。我可以想到两件事:

  • 程序检查以确保分配顺利进行(即在 C 中有一个 malloc 的返回代码),如果分配不顺利,那么它会优雅地退出,并出现曾经无处不在的“Out of内存”错误信息。 Java 和 C++ 有相同目的的异常。

  • 程序不检查是因为,真的,谁又耗尽了内存? (这是一个程序员在这里思考。)我敢打赌,有很多程序在那里编写,不检查对 malloc 的调用是否成功,因此他们尝试使用错误的指针并导致内存访问冲突,导致程序退出并在 Windows 中显示一条漂亮的“此程序遇到问题”消息,或在 Unix 中显示简洁的“段错误”消息。

关于operating-system - 虚拟内存耗尽时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com