溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用memory_profiler監測python代碼運行時內存消耗方法

發布時間:2020-09-23 06:40:31 來源:腳本之家 閱讀:411 作者:clovermini 欄目:開發技術

前幾天一直在尋找能夠輸出python函數運行時最大內存消耗的方式,看了一堆的博客和知乎,也嘗試了很多方法,最后選擇使用memory_profiler中的mprof功能來進行測量的,它的原理是在代碼運行過程中每0.1S統計一次內存,并生成統計圖。

具體的使用方式如下:

首先安裝memory_profiler和psutil(psutil主要用于提高memory_profile的性能,建議安裝)(可使用pip直接安裝)

pip install memory_profiler 
pip install psutil

具體運行方式為如下:(在待檢測代碼所在目錄中打開命令行運行如下代碼)

mprof run test.py

結果會生成一個.dat文件,如”mprofile_20160716170529.dat”,里面記錄了內存隨時間的變化

mprof plot

使用該命令以圖片的形式展示出來

如果在運行的時候出現如下的gbk解碼錯誤,解決方案是首先進入 memory_profiler.py文件中,找到第1131行,

把with open(filename) as f: 更改成 with open(filename, encoding='utf-8') as f:?。?!

UnicodeDecodeError: ‘gbk' codec can't decode byte 0xad in position 337: illegal multibyte sequence

使用memory_profiler監測python代碼運行時內存消耗方法

使用memory_profiler監測python代碼運行時內存消耗方法

值得注意的是,盡管網上大部分都說在待檢測的函數之前加上@profile修飾器,但是不知道為何我在anaconda python3.6的環境里始終加不上這個修飾器,強行加上就報錯,沒加上也沒問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女