国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

2款Python內存檢測工具介紹和使用方法

2020-02-23 05:24:48
字體:
來源:轉載
供稿:網友

去年自己寫過一個程序時,不太確定自己的內存使用量,就想找寫工具來打印程序或函數的內存使用量。
這里將上次找到的2個內存檢測工具的基本用法記錄一下,今后分析Python程序內存使用量時也是需要的。

memory_profiler模塊(與psutil一起使用)
注:psutil這模塊,我太喜歡了,它實現了很多Linux命令的主要功能,如:ps, top, lsof, netstat, ifconfig, who, df, kill, free 等等。
示例代碼(https://github.com/smilejay/python/blob/master/py2014/mem_profile.py):

代碼如下:
#!/usr/bin/env python

'''
Created on May 31, 2014

@author: Jay <smile665@gmail.com>
@description: use memory_profiler module for profiling programs/functions.
'''

from memory_profiler import profile
from memory_profiler import memory_usage
import time

 
@profile
def my_func():
    a = [1] * (10 ** 6)
    b = [2] * (2 * 10 ** 7)
    del b
    return a

 
def cur_python_mem():
    mem_usage = memory_usage(-1, interval=0.2, timeout=1)
    return mem_usage

 
def f(a, n=100):
    time.sleep(1)
    b = [a] * n
    time.sleep(1)
    return b

if __name__ == '__main__':
    a = my_func()
    print cur_python_mem()
    print ""
    print memory_usage((f, (1,), {'n': int(1e6)}), interval=0.5)

運行上面的代碼,輸出結果為:
代碼如下:
jay@Jay-Air:~/workspace/python.git/py2014 $python mem_profile.py
Filename: mem_profile.py

Line #    Mem usage    Increment   Line Contents
================================================
    15      8.0 MiB      0.0 MiB   @profile
    16                             def my_func():
    17     15.6 MiB      7.6 MiB       a = [1] * (10 ** 6)
    18    168.2 MiB    152.6 MiB       b = [2] * (2 * 10 ** 7)
    19     15.6 MiB   -152.6 MiB       del b
    20     15.6 MiB      0.0 MiB       return a

 
[15.61328125, 15.6171875, 15.6171875, 15.6171875, 15.6171875]

[15.97265625, 16.00390625, 16.00390625, 17.0546875, 23.63671875, 23.63671875, 23.640625]

Guppy (使用了Heapy)
Guppy is an umbrella package combining Heapy and GSL with support utilities such as the Glue module that keeps things together.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禹州市| 阿克苏市| 会理县| 诸暨市| 海盐县| 邢台县| 建阳市| 社会| 宁都县| 依安县| 夏津县| 千阳县| 子长县| 乌兰察布市| 台东县| 紫云| 绥滨县| 新泰市| 九龙城区| 桐乡市| 丰台区| 阿合奇县| 修武县| 息烽县| 南京市| 柞水县| 洪泽县| 泰宁县| 慈利县| 尼玛县| 兴隆县| 安泽县| 辽阳县| 萝北县| 隆德县| 甘孜县| 永和县| 巫溪县| 剑川县| 澎湖县| 静宁县|