gpt4 book ai didi

python - 使用的内存超过可用内存

转载 作者:可可西里 更新时间:2023-11-01 09:47:25 25 4
gpt4 key购买 nike

我编写了一个扩展素数数据库的程序。该程序是用 python 编写的,在具有 8GB RAM 的 Windows 10 (x64) 上运行。

该程序将它找到的所有质数存储在 整数列表 中以供进一步计算,并在运行时使用大约 6-7GB 的 RAM .然而,在某些运行过程中,该数字已降至 100MB 以下。内存使用率在运行期间保持较低水平,但随着更多数字添加到素数数组而按预期增加。请注意,并非所有运行都会导致内存下降。

使用任务管理器测量内存使用情况

这些看似随机的掉落让我得出以下理论:

  1. 我的代码中有一个错误,导致它丢失了关键数据并弄乱了结果(很可能但结果不支持)
  2. Python 恰好在一段时间后非常好地优化了我的代码。
  3. Python 或 Windows 通过清除素数数组中未使用太多的部分来补偿我对 RAM 的过度使用。 (最终导致计算错误)
  4. Python 或 Windows 通过分配磁盘空间而不是 ram 来补偿我对 RAM 的过度使用。

问题

  1. 内存下降的原因可能是什么?
  2. python 如何处理使用超过可用 RAM 的程序?
  3. Windows 如何处理使用超过可用 RAM 的程序?

最佳答案

1、2、3 是不正确的理论。

4 是正确的。 Windows(不是 Python)正在将你的一些进程内存移动到交换空间。这对您的应用程序几乎是完全透明的——您不需要做任何特殊的事情来响应或处理这种情况。您唯一会注意到的是,随着信息写入磁盘和从磁盘读取信息,您的应用程序可能会变慢。但这一切都是透明发生的。参见 https://en.wikipedia.org/wiki/Virtual_memory获取更多信息。

关于python - 使用的内存超过可用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39602962/

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