我在大型 Azure Windows VM 上运行了一个相当密集的 Python 脚本。我在 Python 环境中使用 Enthought Canopy。VM 有 56GB 的可用 RAM...但是在任务管理器中,Python 似乎只使用了 240MB 的 RAM。这是进程本身的结果还是 Python 的内存分配?如果是内存分配,我该如何分配更多内存?
感谢您的时间。
答案1
Windows 只会在进程请求内存时才向进程提供内存。Windows 不会将内存提供给不请求内存的进程,即使它有大量可用内存。在我看来,Python 请求的内存不超过 243MB。为什么你觉得这个 Python 脚本应该需要向操作系统请求更多内存吗?内存管理在 Python 中通常不是问题,因此我不太愿意深入讨论诸如此类的事情void* PyMem_Malloc(size_t n)
,因为这会变成 Stackoverflow 讨论。