在空闲状态下运行的python代码是否可以访问所有已安装的ram?



我不介意计算速度慢,但由于内存不足,我的电脑在运行一些程序时崩溃了。

是否任何Python IDLE程序能够访问所有已安装的RAM并在必要时使用它?

哦…你把很多你还没有完全理解的概念混在一起了。

我在考虑买台新电脑(我的旧电脑坏了)。

如果它坏了,你要么把它修好,要么买一个新的。

它向我解释了默认情况下程序如何在一个线程中运行,除非为多个线程编写。

由于GIL(全局解释器锁),Python程序将在一个线程上运行,这是真的。如果你想使用更多的cpu,你需要使用multiprocessing库。

我不介意计算速度慢,但内存不足会导致一些程序运行中断[sic]

我想你是指

我怀疑这是不可能的。如果没有足够的物理RAM,程序可能会变得非常慢,速度可能是原来的1000倍。原因是RAM将被交换到磁盘,并且该操作需要更长的时间。但它不应该完全停止。

"例如四个双通道ram是否可以与在IDLE中运行的Python程序一起工作?"这是我一直在考虑的。

是和不是。Python不能直接访问物理RAM。操作系统为应用程序提供虚拟RAM。通常,如果没有其他反对的理由,操作系统将提供物理RAM。因此,是的,更多的物理RAM通常会增加Python程序可用的物理RAM。

是否任何Python IDLE程序都能够访问所有已安装的RAM并在必要时使用它?

。例如,32位Python将只能处理一个子集。但是,即使使用64位Python,也会为操作系统保留一些内存。

可以计算并存储在阶段

要回答这个问题,我们需要知道你在计算什么以及需要多少内存。通常,可以计算内存需求。大0符号就是这样。通常你可以用内存补偿CPU,反之亦然。

如果有足够的时间和驱动器空间,是否可能有足够的计算能力?

对于某些任务,永远没有足够的计算能力,例如暴力破解密码。同样,我们需要知道您要计算的是什么。

如何处理?

首先,最好知道你的电脑规格。你有多少个CPU内核和多少RAM ?其次,查看任务管理器可以看到有多少内存正在使用、缓存和空闲?

很可能CPU大部分是空闲的(就像你说的,它可能只有8个中的1个),也很可能你的RAM仍然是空闲的。在这种情况下,你的算法就是蹩脚的,例如陷入无限循环。

了解物理RAM和虚拟RAM的区别。用正确的措辞说话。学习如何衡量两者。然后带着数字和源代码回来。

顺便说一句:你的电脑到底出了什么问题?你是怎么诊断的?如果你的电脑没有按照你的预期工作,可能只是程序有问题。

最新更新