Bloomberg 開源 memray,一個 Python 記憶體分析工具

Bloomberg 開源了 memray,這是一種在 Python 應用程式中分析記憶體的工具。 該程式追蹤Python中的記憶體分配操作,並提供用於分析和優化各程式碼段的記憶體消耗的視覺化介面,以及用C/C++編寫的插件。 報告可以互動方式生成,也可以以 HTML 格式生成。 它包括一個用於管理分析的 CLI 介面和一個可用於追蹤第三方專案中的記憶體操作的程式庫。 該程式碼在 Apache 2.0 許可證下發布。 僅支援在Linux平台上操作。

主要特點:

  • 應用程式:確定應用程式中記憶體消耗高的原因,尋找記憶體洩漏,並識別執行過多記憶體分配的程式碼。
  • 追蹤所有函數呼叫的總記憶體消耗、函數內的消耗以及記憶體分配操作的數量。 能夠準確估計呼叫堆疊。
  • 處理對 C/C++ 中的函式庫的呼叫並計算本機模組中的記憶體消耗。 支援使用 numpy 和 pandas 分析專案。
  • 開銷最小,對分析應用程式效能的影響可以忽略不計。 停用本機程式碼追蹤以提高效能的選項。
  • 提供大量記憶體使用報告,包括視覺化層次圖和梯形圖(火焰圖)。
  • 能夠使用線程並在單個線程的上下文中分析記憶體。 支援 Python 線程和本機線程,例如 C/C++ 模組中使用的 C++ 線程。
  • 可以與 pytest 整合並提供定義記憶體消耗限制的 pytest 註釋,如果超出,將在測試執行期間產生警告。

Bloomberg 開源 memray,一個 Python 記憶體分析工具
Bloomberg 開源 memray,一個 Python 記憶體分析工具


來源: opennet.ru

添加評論