簡體   English   中英

如何獲得 python 腳本的峰值 memory 用法?

[英]How to get peak memory usage of python script?

我正在做一些廣泛的科學 python 計算,想知道 python 腳本的執行時間和 memory 足跡。

那么如何獲取 python 腳本的峰值memory 用法呢?

如果重要的話,我在 Windows 上並使用 python 2.7。

資源模塊可以給你這個。 適用於 Python 2 和 Python 3。

import resource
resource.getrusage(resource.RUSAGE_SELF).ru_maxrss

這是以千字節為單位的峰值 memory。 用戶和系統時間也包含在 getrusage 的值中。

聽起來你正在尋找一個內存分析器。 Memory_profiler是一個你可以深入了解哪一行給你的問題,並通過一些查詢你可以找出哪個區域是最大的內存消耗。

https://pypi.python.org/pypi/memory_profiler ,因為你使用的是windows,它還需要這個https://pypi.python.org/pypi/psutil

祝好運!

對於峰值內存,就像在Windows上一樣,您可以使用psutilpsutil.Process.memory_info來獲取峰值工作集大小(以字節為單位):

>>> import psutil
>>> p = psutil.Process()
>>> p.memory_info().peak_wset
238530560L

根據上面的鏈接,您可以在此頁面上獲得有關某些Windows特定字段的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM