使用memory_profiler監(jiān)測python代碼運行時內存消耗方法
前幾天一直在尋找能夠輸出python函數(shù)運行時最大內存消耗的方式,看了一堆的博客和知乎,也嘗試了很多方法,最后選擇使用memory_profiler中的mprof功能來進行測量的,它的原理是在代碼運行過程中每0.1S統(tǒng)計一次內存,并生成統(tǒng)計圖。
具體的使用方式如下:
首先安裝memory_profiler和psutil(psutil主要用于提高memory_profile的性能,建議安裝)(可使用pip直接安裝)
pip install memory_profiler pip install psutil
具體運行方式為如下:(在待檢測代碼所在目錄中打開命令行運行如下代碼)
mprof run test.py
結果會生成一個.dat文件,如”mprofile_20160716170529.dat”,里面記錄了內存隨時間的變化
mprof plot
使用該命令以圖片的形式展示出來
如果在運行的時候出現(xiàn)如下的gbk解碼錯誤,解決方案是首先進入 memory_profiler.py文件中,找到第1131行,
把with open(filename) as f: 更改成 with open(filename, encoding='utf-8') as f:?。。?/p>
UnicodeDecodeError: ‘gbk' codec can't decode byte 0xad in position 337: illegal multibyte sequence


值得注意的是,盡管網上大部分都說在待檢測的函數(shù)之前加上@profile修飾器,但是不知道為何我在anaconda python3.6的環(huán)境里始終加不上這個修飾器,強行加上就報錯,沒加上也沒問題。
相關文章
Python pandas 重命名索引和列名稱的實現(xiàn)
本文主要介紹了Python pandas 重命名索引和列名稱的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
django xadmin中form_layout添加字段顯示方式
這篇文章主要介紹了django xadmin中form_layout添加字段顯示方式,具有很好的 參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python實現(xiàn)發(fā)送聲情并茂的郵件內容和附件
Python是一種高級編程語言,它可以用于編寫各種類型的應用程序,包括發(fā)送電子郵件。本文就來演示如何使用Python發(fā)送HTML格式的電子郵件,感興趣的可以了解一下2023-04-04

