线上的一台机器出现了内存泄漏的情况(内存 2G,htop 发现 Python 程序占用内存 200M,但是 free -m 发现真实使用内存达到了 1G )。
想要找一款工具能够动态检测内存的,找到了这 2 个 pyrasite 和 memory_profiler
第一个 pyrasite 安装极其麻烦,环境都是 centos6,有的机器能装上,有的装不上(依赖问题,要装的依赖软件很多), 装的上的机器使用后看了下,内存检测结果发现,dict 字典占用的内存最多,但是装上的这台机器不具有参考价值,因为不是线上的机器(线上那台装不上 pyrasite)
第二个 memory_profiler 很强大,能检测到每行代码使用的内存变化情况,是使用 @profile 装饰器的,但是我发现这个好像每次只能检测一个 Python 文件? 没法检测整个项目里面加了 @profile 装饰器的吗?可能是我用法不对?
想问下各位,Python 有没有什么好的排查方法来解决这种内存泄漏问题的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.