0

我正在研究 Python,我有兴趣了解进程中使用的内存。为此,我正在使用 Python 的 tracemalloc 库:

def getMemory():
"""
takes a snapshot of memory at the current time
"""
return tracemalloc.take_snapshot()

无论如何,当我运行我的程序时,我收到以下错误

Traceback (most recent call last):
  File "c:/Users/juanc/OneDrive/Documentos/repos/EDA/Reto2-G06/App/view.py", line 111, in <module>
    loadStats = loadData(catalog)
  File "c:/Users/juanc/OneDrive/Documentos/repos/EDA/Reto2-G06/App/view.py", line 85, in loadData
    return controller.loadData(catalog)
  File "c:\Users\juanc\OneDrive\Documentos\repos\EDA\Reto2-G06\App\controller.py", line 61, in loadData
    stop_memory = getMemory()
  File "c:\Users\juanc\OneDrive\Documentos\repos\EDA\Reto2-G06\App\controller.py", line 144, in getMemory
    return tracemalloc.take_snapshot()
  File "C:\Users\juanc\AppData\Local\Programs\Python\Python38-32\lib\tracemalloc.py", line 532, in take_snapshot
    traces = _get_traces()
MemoryError

如果我不使用tracemalloc.take_snapshot(),我的代码运行良好,但是当我使用它时,我得到了提到的错误。

我不知道是什么导致了错误,也不知道如何解决它。

因此,我写这篇文章,希望有人可以帮助我解决这个问题。

谢谢 :)

PD:我正在使用的代码是针对大学作业的,作业的说明指定我应该使用tracemalloc.take_snapshot(),因此更改测量内存的方法对我来说不是一个选择。

**更新**

我已经设法解决了这个问题。我在 64 位计算机上运行旧的 32 位版本的 python (v3.8)。因此,我将 python 更新到最新的 64 位版本,问题就消失了。我不知道问题是否与 python 的版本有关并且它是 32 位版本,但这解决了我的问题。我希望这会有所帮助,如果有人有同样的问题。
4

0 回答 0