网上都是用的memory_profiler,是每行代码占用内存,这样Python代码运行速度严重拖慢。而且也暂时不需要知道每行代码用了多少内存,我只想知道一个程序运行之后他一共用了多少内存,论文里需要有每次运行之后的内存分析,运行一次程序就能知道消耗了多少内存
您可以使用 psutil 库,该库可以帮助您查询当前 Python 进程的内存使用情况。您可以在代码中添加如下语句:
python
Copy code
import psutil
process = psutil.Process(os.getpid())
print("Memory Usage:", process.memory_info().rss, "bytes")
该语句将打印出当前 Python 进程的内存使用情况,以字节为单位。
推荐参考网站 https://fe9948rfxmfxgwb9k835v7fsbf.hop.clickbank.net/
用库是可以的
但是如果你不需要精确到字节的话
其实直接看任务管理器里进程占多少内存就行了
如果你是打包成exe,那么直接看进程内存
如果没有打包而直接在IDE下执行,可以看看IDE没有执行代码时占多少内存,减去执行之后占多少内存
如果你的程序一下执行完了,那不好到任务管理器里看内存
可以在结束前先将代码阻塞,比如写个input之类的,然后看,看完再关掉
此外,内存是不断动态变化的,所以你所有代码申请的内存加在一起并不等于总体内存,因为申请的同时也在释放
“该回答引用chatgpt”
请参考下面的解决方案:
首先,在程序开始时启用内存分析:
import tracemalloc
tracemalloc.start()
然后在程序结束时,捕获当前的内存使用情况:
current, peak = tracemalloc.get_traced_memory()
print("Current memory usage is %d bytes" % current)
print("Peak memory usage is %d bytes" % peak)
不知道你这个问题是否已经解决, 如果还没有解决的话: