Python 如何查看程序内存占用情况

 更新时间:2022年05月16日 11:15:58   作者:TheOldManAndTheSea  
这篇文章主要介绍了Python 如何查看程序内存占用情况,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

查看程序内存占用情况

  • flyfish
  • psutil 这里用在查看内存占用情况
  • memory_profiler输出每一行代码增减的内存

安装

pip install memory_profiler

代码

import numpy as np
import os
import psutil
import gc
from memory_profiler import profile

@profile
def test():
    a=np.full(shape=(600, 700), fill_value=99.0)
    return a

if __name__ == '__main__':

    a=test()

    print('A:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024))
    del a
    gc.collect()
    print('B:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024))

如果没有from memory_profiler import profile这句代码,执行终端命令如下

python -m memory_profiler test.py

结果

Line #    Mem usage    Increment  Occurences   Line Contents
============================================================
    10     53.8 MiB     53.8 MiB           1   @profile
    11                                         def test():
    12     56.8 MiB      3.0 MiB           1       a=np.full(shape=(600, 700), fill_value=99.0)
    13     56.8 MiB      0.0 MiB           1       return a


A:56.83 MB
B:53.83 MB

python查看内存使用

在程序中使用python查看电脑内存,可以使用:

import psutil
import os

info = psutil.virtual_memory()
print(u'内存使用:',psutil.Process(os.getpid()).memory_info().rss)
print(u'总内存:',info.total)
print(u'内存占比:',info.percent)
print(u'cpu个数:',psutil.cpu_count())

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何利用Python将字典转为成员变量

    如何利用Python将字典转为成员变量

    当我们在Python中写一个class时,如果有一部分的成员变量需要用一个字典来命名和赋值,此时应该如何操作呢?这篇文章主要给大家介绍了关于如何利用Python将字典转为成员变量的相关资料,需要的朋友可以参考下
    2022-03-03
  • python中arrow库用法大全

    python中arrow库用法大全

    这篇文章主要介绍了python中arrow库用法详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 使用实现pandas读取csv文件指定的前几行

    使用实现pandas读取csv文件指定的前几行

    下面小编就为大家分享一篇使用实现pandas读取csv文件指定的前几行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python实现最小二乘法线性拟合

    python实现最小二乘法线性拟合

    这篇文章主要为大家详细介绍了python实现最小二乘法线性拟合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Opencv中cv2.floodFill算法的使用

    Opencv中cv2.floodFill算法的使用

    本文结合实例,详细的介绍了泛洪填充算法的具体使用,具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • Python使用struct库的用法小结

    Python使用struct库的用法小结

    struct模块执行Python值和以Python bytes表示的C结构体之间的转换,这可以用于处理存储在文件中或来自网络连接以及其他源的二进制数据,下面介绍下Python使用struct库的用法,感兴趣的朋友一起看看吧
    2022-05-05
  • Python自动化测试ConfigParser模块读写配置文件

    Python自动化测试ConfigParser模块读写配置文件

    本文主要介绍Python自动化测试,这里详细说明了ConfigParser模块读写配置文件,有兴趣的小伙伴可以参考下
    2016-08-08
  • pytorch实现mnist手写彩色数字识别

    pytorch实现mnist手写彩色数字识别

    这篇文章主要介绍了pytorch-实现mnist手写彩色数字识别,文章围绕主题展开详细的内容姐介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python 的 with 语句详解

    Python 的 with 语句详解

    这篇文章主要介绍了Python 的 with 语句,本文详细讲解了with语句、with语句的历史、with语句的使用例子等,需要的朋友可以参考下
    2014-06-06
  • python ImageDraw类实现几何图形的绘制与文字的绘制

    python ImageDraw类实现几何图形的绘制与文字的绘制

    这篇文章主要介绍了python ImageDraw类实现几何图形的绘制与文字的绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论