使用memory_profiler監(jiān)測(cè)python代碼運(yùn)行時(shí)內(nèi)存消耗方法
前幾天一直在尋找能夠輸出python函數(shù)運(yùn)行時(shí)最大內(nèi)存消耗的方式,看了一堆的博客和知乎,也嘗試了很多方法,最后選擇使用memory_profiler中的mprof功能來(lái)進(jìn)行測(cè)量的,它的原理是在代碼運(yùn)行過(guò)程中每0.1S統(tǒng)計(jì)一次內(nèi)存,并生成統(tǒng)計(jì)圖。
具體的使用方式如下:
首先安裝memory_profiler和psutil(psutil主要用于提高memory_profile的性能,建議安裝)(可使用pip直接安裝)
pip install memory_profiler pip install psutil
具體運(yùn)行方式為如下:(在待檢測(cè)代碼所在目錄中打開命令行運(yùn)行如下代碼)
mprof run test.py
結(jié)果會(huì)生成一個(gè).dat文件,如”mprofile_20160716170529.dat”,里面記錄了內(nèi)存隨時(shí)間的變化
mprof plot
使用該命令以圖片的形式展示出來(lái)
如果在運(yùn)行的時(shí)候出現(xiàn)如下的gbk解碼錯(cuò)誤,解決方案是首先進(jìn)入 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
值得注意的是,盡管網(wǎng)上大部分都說(shuō)在待檢測(cè)的函數(shù)之前加上@profile修飾器,但是不知道為何我在anaconda python3.6的環(huán)境里始終加不上這個(gè)修飾器,強(qiáng)行加上就報(bào)錯(cuò),沒加上也沒問題。
相關(guān)文章
pytorch 獲取層權(quán)重,對(duì)特定層注入hook, 提取中間層輸出的方法
今天小編就為大家分享一篇pytorch 獲取層權(quán)重,對(duì)特定層注入hook, 提取中間層輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08詳解解Django 多對(duì)多表關(guān)系的三種創(chuàng)建方式
本文主要介紹了詳解解Django 多對(duì)多表關(guān)系的三種創(chuàng)建方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08Python使用itchat模塊實(shí)現(xiàn)簡(jiǎn)單的微信控制電腦功能示例
這篇文章主要介紹了Python使用itchat模塊實(shí)現(xiàn)簡(jiǎn)單的微信控制電腦功能,結(jié)合實(shí)例形式分析了Python基于itchat模塊控制電腦實(shí)現(xiàn)運(yùn)行程序、截圖等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08PyQt5實(shí)現(xiàn)多張圖片顯示并滾動(dòng)
最近要做個(gè)網(wǎng)頁(yè)圖片批量下載工具,然后需要一個(gè)頁(yè)面顯示網(wǎng)頁(yè)上的所有圖片供用戶勾選,再根據(jù)勾選的內(nèi)容來(lái)下載指定圖片,其中就涉及到要到同時(shí)顯示多張圖片,本文就來(lái)介紹一下2021-06-06Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解
這篇文章主要介紹了Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06python用什么編輯器進(jìn)行項(xiàng)目開發(fā)
在本篇文章里小編給大家整理的是一篇關(guān)于python開發(fā)用的編輯器詳細(xì)介紹,有需要的朋友們可以參考下哎。2020-06-06Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python中subplots_adjust函數(shù)的用法
這篇文章主要介紹了Python中subplots_adjust函數(shù)的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08