# 显示当前 python 程序占用的内存大小
import osimport psutil as psutildef show_memory_info(hint):# 获取当前进程的进程号pid = os.getpid()# psutil 是一个获取系统信息的库p = psutil.Process(pid)info = p.memory_full_info()memory = info.uss/1024./1024print(f"{hint} memory used: {memory} MB ")def test_iterator():# 针对迭代器的占用测试# 对于迭代器 每个元素在生成之后就会保存在内存中# 即使占用了巨量的内存# 内存不够就会出现 OOM 错误show_memory_info("initing iterator")list_1 = [i for i in range(1000000)]show_memory_info("after iterator")# 不过我们并不需要在内存中同时保存这么多的东西# 例如对元素进行求和 我们只需要知道每个元素在相加的那一刻是多少就行了 用完就可以扔掉了print(sum(list_1))show_memory_info("after sum ")def test_generator():# 针对生成器的占用测试show_memory_info("initing generator")# 生成器的概念应运而生 在你调用 next 的时候 才会生成下一个变量# 生成器在初始化的时候 并不需要运行一次生成操作list_1 = (i for i in range(1000000))show_memory_info("after generator")print(sum(list_1))show_memory_info("after sum ")test_iterator()print()test_generator()

运行结果:

通过显示当前 python 程序占用的内存大小来比较生成器和迭代器(转载)相关推荐

  1. java程序占用实际内存大小

    一.java程序占用实际内存大小 1.1.java命令启动参数-Xms -Xmx的问题         启动命令如下:java -server -Xms128m -Xmx128m -jar ****. ...

  2. 通过keil编译明白自己的程序占用的内存大小。堆栈大小分配,32单片机片内存储flash的使用。

    目录 1.通过keil编译程序,得到自己代码需要单片机的flash和RAM大小 2.在程序中调整堆栈的大小 3.单片机片内flash的使用 1.通过keil编译程序,得到自己代码需要单片机的flash ...

  3. python程序占用内存高_如何优化Python占用的内存,面试必学

    如果程序处理的数据比较多.比较复杂,那么在程序运行的时候,会占用大量的内存,当内存占用到达一定的数值,程序就有可能被操作系统终止,特别是在限制程序所使用的内存大小的场景,更容易发生问题.下面我就给出几 ...

  4. java应用程序占用高内存_对Java应用程序中的内存问题进行故障排除

    java应用程序占用高内存 重要要点 解决内存问题可能很棘手,但是正确的方法和正确的工具集可以大大简化此过程. Java HotSpot JVM可以报告几种OutOfMemoryError消息,因此务 ...

  5. linux查看native进程,Android 分析应用程序占用native内存

    Android 应用开发大家都知道可以通过DDMS来查看应用程序进程占用的内存大小:然而Native 内存并不能在虚拟堆上看到:Android系统基于Linux,这样的话其具备Linux的大多数特性: ...

  6. ubuntu实时显示网速cpu占用和内存占用率

    ubuntu实时显示网速cpu占用和内存占用率 大家在使用ubuntu的时候,有没有想让它实时显示网速,内存占用率,或者cpu占用率呢?现在我就教大家怎么实现,就像下面这样 1. 添加indicato ...

  7. Android中一张图片占用的内存大小

    最近面试过程中发现对Android中一些知识有些模棱两可,之前总是看别人的总结,自己没去实践过,这两天对个别问题进行专门研究 探讨:如何计算Android中一张图片占据内存的大小 解释:此处说的占据内 ...

  8. android获取当前应用占用的内存大小,Android分析已安装应用占用内存

    问题 Android开发时可以通过AndroidStudio提供的一些系列工具查看应用的内存占用,十分的方便. 但是如果是对一个成品的已安装App快速查看内存占用呢,下面简单讲两种方式. 方案一:to ...

  9. 如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小

    如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小 一.为什么要查看redis中每个key的占用 二.怎么查看redis中每个key的占用 一.为什么要查看r ...

最新文章

  1. 自然语言处理「迷惑行为大赏」,自然语言处理太难难难了!
  2. 它又来了!Fastjson 被发现其用于安全控制的开关autotype限制可被绕过...你方了没?...
  3. docker报错解决办法:Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp
  4. 中科大410分计算机排名第几,2021考研成绩发布:中科大400分无缘复试,中山大学321分登顶第二...
  5. 电脑应用程序错误怎么办_遇到电脑桌面应用程序无法正常启动(0xc0000142)怎么办?0xc0000142解决方法...
  6. python string转int_Python编程入门:time模块常用技巧
  7. pic16f616单片机C语言编程,PIC16F616型单片机介绍
  8. 软盘镜像_软盘表示保存,还有14个其他老人图标不再有用
  9. 档案管理制度计算机管理制度,档案管理制度保密制度
  10. 识别到硬盘 计算机不显示盘符,移动硬盘不显示盘符怎么办
  11. Python自动化测试进阶系列——自动发邮件功能
  12. 数字化让企业精益管理梦成真,技术成核心驱动
  13. android usb摄像头 前后置,android – 在后置和前置摄像头之间切换
  14. 纯手工html+css实现静态游戏网首页(免费拿源码)
  15. Halo博客搭建笔记(以Nginx反向代理 + 负载均衡 + 服务的方式运行Halo博客)
  16. 升级macOS Catalina 后辅助功能空白无法添加的问题
  17. 头脑风暴问题:玻璃水果盘的用法
  18. 孩子小学总喜欢用计算机做数学,数学到底该怎样学?真实用!
  19. 孤独的灵魂该去何处安家
  20. 水滴IP告诉你:代理ip的功能是什么?能否隐藏自身的真实ip?

热门文章

  1. 浅谈 Celery 分布式队列
  2. 迟到的2017年终总结与2018目标规划
  3. 《JavaScript高级程序设计》Chapter 5 引用类型
  4. javascript面向对象属性函数用法(defineProperty与getOwnPropertyDescriptor)
  5. Apache+PHP环境搭建
  6. Spring远程调用技术1-RMI
  7. laravel安装笔记
  8. ALAssetsLibrary获取相册列表
  9. SQLite的局限性
  10. SDUT 2080 最长公共子序列问题