V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Buffer2Disk  ›  全部回复第 8 页 / 共 13 页
回复总数  260
1  2  3  4  5  6  7  8  9  10 ... 13  
2018-11-14 10:22:09 +08:00
回复了 Buffer2Disk 创建的主题 问与答 Python OrderedDict 存在内存泄漏的问题
@Arnie97 是的,有点蛋疼,网上找了一个第三方的 OrderedDict 实现,https://pypi.org/project/ruamel.ordereddict/

号称是速度很快,但是换上以后 cpu 飙升。。。。
2018-11-14 10:19:59 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python OrderedDict 存在内存泄漏的问题
@cgsv 因为对性能问题比较敏感,所以没有开启 gc,想通过去除循环引用来解决。,。。。。
2018-11-13 11:41:00 +08:00
回复了 kkfnui 创建的主题 问与答 Python 缓存库, LRU, max, timeout
@kkfnui
最近也在研究这一块,可以讨论讨论,网上找了一个支持 timeout 的 lru_cache , 是基于 python 官方的 orderedDict 实现的,
测试后发现,orderedDict 貌似有内存泄漏的问题 ---> https://stackoverflow.com/a/46935255/2379891
不知道你后来是怎么解决的?
2018-11-02 13:39:01 +08:00
回复了 glacer 创建的主题 生活 有用李施德林冰蓝漱口水的吗?这酸爽!
@minamike 我也用的是日本的这个皓乐齿,温和而且效果跟李施德林差不多,后来就不用李施德林了
2018-10-29 10:01:08 +08:00
回复了 Chan6 创建的主题 问与答 如果你遇到这种交通事故如何最大提升生还概率?
这么高的桥,摔下来人肯定震晕了啊,,而且车内外在水内随着水的深度气压不同,砸窗游泳出去没那么简单。
进水后深度这么深,如果没有经过潜水训练的话,耳膜,肺部都容易出问题
我这个是 360 干的,直接用 Windows 的删除还删不掉,结果用 360 自家的强力删除功能删掉了,233333.。。。。。
2018-10-14 12:10:03 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@redsonic 还有一个问题,我这个 Python 多线程的程序打开的文件确实很多(fd),但是上个月的时候没有占用这么多内存,系统实际占用内存大概 600M,不知道为什么这个月就突增到 1.2G 了,fd 增长应该没有这么快,所以有点奇怪;
感觉应该是是 fd 占用内存最多了;

看前面的回复说,anon 和多线程有关系,我的程序里面是有 13 个线程常驻的,除了主线程外,其他的线程都是轮询从 MySQL 拿数据,然后操作 fd,之前好像也没这么消耗内存啊。。。。
2018-10-14 11:59:47 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@redsonic 你好,你说的 active 是指哪个 active,因为之前有看过一篇文章 Active = Active(anon) + Active(file)
而 buffers + cached = Active(file) + Inactive(file) + Shmem,这样算的话,是不是和你那个公式里面 buffer+cache 算重复了?
文章来源: https://lujun9972.github.io/blog/2018/04/17/meminfo%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3/
2018-10-14 00:29:27 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@redsonic
我看了下 /proc/meminfo , 感觉 Slab + AnonPages + python 进程的 RES 内存 = 系统的真实使用内存,不知道这么算对不对?

下面是 slabtop 的结果,dentry 不知道是干啥用的
<img src="https://ws1.sinaimg.cn/large/006TlzFEly1fw726ktao1j30mc0ehabc.jpg" />
@lirau 看过这个人写的文章,写的挺好的,但是对我最关心的几个参数,好像没有详细的描述
Active: 1308168 kB
Inactive: 1758160 kB
Active(anon): 1010416 kB
Inactive(anon): 1370480 kB
Active(file): 297752 kB
Inactive(file): 387680 kB
2018-10-11 21:31:27 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
pmap -x 2473 | sort -nk 2 | grep anon
00007fb4c3fff000 4 0 0 ----- [ anon ]
00007fb4e17fc000 4 0 0 ----- [ anon ]
00007fb4e21fd000 4 0 0 ----- [ anon ]
00007fb4e2bfe000 4 0 0 ----- [ anon ]
00007fb4e35ff000 4 0 0 ----- [ anon ]
00007fb4fc3fa000 4 0 0 ----- [ anon ]
00007fb4fcdfb000 4 0 0 ----- [ anon ]
00007fb4fd7fc000 4 0 0 ----- [ anon ]
00007fb4fe1fd000 4 0 0 ----- [ anon ]
00007fb4febfe000 4 0 0 ----- [ anon ]
00007fb4ff5ff000 4 0 0 ----- [ anon ]
00007fb503fff000 4 0 0 ----- [ anon ]
00007fb504993000 4 0 0 ----- [ anon ]
00007fb505394000 4 0 0 ----- [ anon ]
00007fb507be5000 4 4 4 rw--- [ anon ]
00007fb50864f000 4 0 0 rw--- [ anon ]
00007fb511cc7000 4 4 4 rw--- [ anon ]
00007fff29bff000 4 4 0 r-x-- [ anon ]
ffffffffff600000 4 0 0 r-x-- [ anon ]
00007fb507dfe000 8 4 4 rw--- [ anon ]
00007fb511cc3000 8 8 8 rw--- [ anon ]
00007fb509160000 16 16 16 rw--- [ anon ]
00007fb510e53000 16 16 16 rw--- [ anon ]
00007fb5116fb000 16 4 4 rw--- [ anon ]
00007fb511a97000 56 56 56 rw--- [ anon ]
00007fb4d4000000 132 36 36 rw--- [ anon ]
00007fb5063a5000 260 256 256 rw--- [ anon ]
00007fb506b45000 260 256 256 rw--- [ anon ]
00007fb511c38000 540 532 532 rw--- [ anon ]
00007fb4c8000000 584 144 144 rw--- [ anon ]
00007fb5048d2000 772 772 772 rw--- [ anon ]
00007fb4d8000000 856 552 552 rw--- [ anon ]
00007fb4dc000000 1020 776 776 rw--- [ anon ]
00007fb4f4000000 1028 1028 1028 rw--- [ anon ]
00007fb511b02000 1040 1024 1024 rw--- [ anon ]
00007fb4f8000000 1048 808 808 rw--- [ anon ]
00007fb4d0000000 1184 944 944 rw--- [ anon ]
00007fb4e4000000 1272 1040 1040 rw--- [ anon ]
00007fb5067ee000 1292 1284 1284 rw--- [ anon ]
00007fb4ec000000 1296 1296 1296 rw--- [ anon ]
00007fb4f0000000 1520 1284 1284 rw--- [ anon ]
00007fb4e8000000 1772 1544 1544 rw--- [ anon ]
0000000001476000 3216 3100 3100 rw--- [ anon ]
00007fb5040cb000 6148 6148 6148 rw--- [ anon ]
00007fb4e0efa000 9224 9224 9224 rw--- [ anon ]
00007fb4e17fd000 10240 20 20 rw--- [ anon ]
00007fb4e21fe000 10240 20 20 rw--- [ anon ]
00007fb4e2bff000 10240 20 20 rw--- [ anon ]
00007fb4e3600000 10240 2048 2048 rw--- [ anon ]
00007fb4fc3fb000 10240 20 20 rw--- [ anon ]
00007fb4fcdfc000 10240 20 20 rw--- [ anon ]
00007fb4fd7fd000 10240 20 20 rw--- [ anon ]
00007fb4fe1fe000 10240 20 20 rw--- [ anon ]
00007fb4febff000 10240 20 20 rw--- [ anon ]
00007fb4ff600000 10240 2048 2048 rw--- [ anon ]
00007fb504994000 10240 20 20 rw--- [ anon ]
00007fb505395000 10240 48 48 rw--- [ anon ]
00007fb4c4000000 19984 19024 19024 rw--- [ anon ]
00007fb4c5384000 45552 0 0 ----- [ anon ]
00007fb4e81bb000 63764 0 0 ----- [ anon ]
00007fb4f017c000 64016 0 0 ----- [ anon ]
00007fb4ec144000 64240 0 0 ----- [ anon ]
00007fb4e413e000 64264 0 0 ----- [ anon ]
00007fb4d0128000 64352 0 0 ----- [ anon ]
00007fb4f8106000 64488 0 0 ----- [ anon ]
00007fb4f4101000 64508 0 0 ----- [ anon ]
00007fb4dc0ff000 64516 0 0 ----- [ anon ]
00007fb4d80d6000 64680 0 0 ----- [ anon ]
00007fb4c8092000 64952 0 0 ----- [ anon ]
00007fb4d4021000 65404 0 0 ----- [ anon ]
00007fb4c0000000 65532 65532 65532 rw--- [ anon ]
00007fb500000000 65532 65532 65532 rw--- [ anon ]

这个是 Python 进程的内存使用情况(anon)
2018-10-11 21:30:47 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@MrGba2z 大佬帮忙分析下上面这个,我感觉 /proc/meminfo 看的更直观一些
2018-10-11 21:25:51 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@aijam

cat /proc/meminfo
MemTotal: 2046876 kB
MemFree: 750100 kB
Buffers: 104608 kB
Cached: 188044 kB
SwapCached: 0 kB
Active: 392248 kB
Inactive: 134392 kB
Active(anon): 234008 kB
Inactive(anon): 212 kB
Active(file): 158240 kB
Inactive(file): 134180 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4095996 kB
SwapFree: 4095996 kB
Dirty: 156 kB
Writeback: 0 kB
AnonPages: 233992 kB
Mapped: 9972 kB
Shmem: 228 kB
Slab: 404976 kB
SReclaimable: 304236 kB
SUnreclaim: 100740 kB
KernelStack: 1872 kB
PageTables: 6592 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 5119432 kB
Committed_AS: 281420 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 349680 kB
VmallocChunk: 34359380816 kB
HardwareCorrupted: 0 kB
AnonHugePages: 157696 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 6080 kB
DirectMap2M: 2091008 kB
DirectMap1G: 0 kB

从这个角度看可能更清楚一点,anon + file 占用的内存很多,active + inactive 加起来差不多 500 多 M 了,看来应该是 Python 程序里面操作的"文件"比较消耗内存?
2018-10-11 18:04:02 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@aijam

Python 我不是很熟悉哈,感觉我开的 13 个线程,都是以进程的形式在系统存在的

那么每个进程使用的内存,在每个时段都一模一样,这也太巧了吧

而且除了主线程外,其他几个线程干的事情很简单,根本不会一个线程消耗到 197M 内存
2018-10-11 17:06:05 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
上面的链接地址多了个 ,
https://yq.aliyun.com/articles/227924
2018-10-11 17:05:01 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@MrGba2z 设置了这个值好像没用,内存今天又开始慢慢增加了
查了一篇文章说在 redhat 6,glibc 2.12 版本上面设置这个值是无效的( glibc 的 bug )
--->https://yq.aliyun.com/articles/227924,

不知道是不是这个原因,如果是的话只有升级系统版本到 centos7 了
2018-10-11 17:02:29 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@aijam 实际就是内存越用越多的,第一天 500M,第二天 900M,第三天 1200M
2018-10-11 17:01:40 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@aijam 我感觉不是你这么算的,照那么算的话,光 Python 进程已经占用 90%内存了,
但是你用 htop 或者 free -m 看 整个系统的实际使用物理内存是 50%
2018-10-11 00:47:45 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@MrGba2z 网上推荐的值是 4, 看看这个 https://github.com/prestodb/presto/issues/8993
2018-10-11 00:46:06 +08:00
回复了 Buffer2Disk 创建的主题 Python 关于 Python 内存泄漏
@MrGba2z 试了下你的这个参数,貌似好像有点效果,不过还是要上线 1-2 天观察看看
1  2  3  4  5  6  7  8  9  10 ... 13  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1019 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 18:27 · PVG 02:27 · LAX 10:27 · JFK 13:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.