还是只有 python 会有?
1
codehz 2023-09-28 16:04:10 +08:00
一般是你自己内存写泄漏了
|
2
opengps 2023-09-28 16:04:19 +08:00
内存泄漏,很多时候是代码是写的不够规范
我虽然没经历过内存泄漏,但我经历过句柄泄漏,当时仅仅是因为 if 后面没有 else 处理,导致线上应用一周下来几十万个句柄,人肉运维了 2 年多,需要经常主动重启下进程 |
3
coderxy 2023-09-28 16:08:29 +08:00
做一下内存分析就知道到底是哪些地方在占用了
|
5
wuwukai007 OP @codehz python 动态语言内存泄露蛮难查的,还有就是缓慢增长,可能每天+50MB 几个月下来也不少大概这种
|
6
wuwukai007 OP python 动态语言内存泄露蛮难查的,还有就是缓慢增长,可能每天+10MB 几个月下来也不少大概这种
|
7
opengps 2023-09-28 16:16:46 +08:00
@c3de3f21 再给你分享个我缓存雪崩的案例:
当时我使用的是 memcached ,memcached 的默认过期规则是,超时时间 30 天。所以经历了几次非常诡异的突然资源飙升连接大量断开重连。后来偶然把服务器启动时间结合起来分析出来,原来我重启服务器或者集中升级时候重启了全部服务,导致过期时间太接近,几十万的连接同时因为没有缓存穿透到数据库访问,硬盘坑不住了所以超时断开,反复重复一个小时稳定不下来。当时发现可能是这个因素导致的问题时候,我都觉得我是个神人 |
8
3825995121 2023-09-28 16:33:08 +08:00
我用 nodejs 经常遇到 后来我就配置了一下超过 2 个 G 就重启一下
我遇到的大部分是 nodejs 调用 c 或 c++的包 nodejs 可能获取到内存之后不会释放 造成 rss 很高 |
9
3825995121 2023-09-28 16:34:50 +08:00
缓慢增长的话 就是直接大量请求压测 然后抓内存信息出来查看
|
10
julyclyde 2023-09-28 16:35:00 +08:00
python 我见过漏,有很多迹象指向 numpy
但是没有切实的证据 |