Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

这个模块存在内存泄露 #273

Open
hilbert36 opened this issue Nov 22, 2019 · 13 comments
Open

这个模块存在内存泄露 #273

hilbert36 opened this issue Nov 22, 2019 · 13 comments

Comments

@hilbert36
Copy link

nginx1.8.1 或者 nginx 1.14.2 2个版本测试编译进这个模块以后,nginx进程占用内存一直增加不下降。
去掉这个模块以后业务低峰期nginx内存会自动释放。

@xiaokai-wang
Copy link
Member

@hilbert36 有没有数据贴一下,模块短时间内是不会释放内存的,需要等一段时间

@hilbert36
Copy link
Author

@xiaokai-wang 我们测试连续观察了2台nginx服务器近2周的时间,编译了这个模块1天之内服务器内存会飙到3G多一直增长不释放,即使凌晨半夜没有访问也不会释放。之前服务器内存占用基本恒定在1G左右,在12点和18点2个时间点业务请求下降后内存会自动释放。

@hilbert36
Copy link
Author

upsync

这个是服务器的内容监控情况

@xiaokai-wang
Copy link
Member

@hilbert36 有1.14.2 版本启用这个模块的内存占用情况没?

@hilbert36
Copy link
Author

1 14 2
@xiaokai-wang 这个就是1.14.2之前编译了这个模块的监控内存占用情况,1.8.1,1.10.3,1.14.2 之前测试的表现情况都是一样的。

@xiaokai-wang
Copy link
Member

@hilbert36 有没有使用健康检查模块?
可以多跑两天,观察一下内存是否会一直上涨;谢谢!

@hilbert36
Copy link
Author

hilbert36 commented Dec 11, 2019

image

@xiaokai-wang 没有使用健康检查模块,目前一天之内就会把内存耗光,系统闲时内存不会释放,现在设置了0点自动重启,昨天7点钟就报剩余内存不足 10%了,然后进行了手动重启。

@bubbleatgit
Copy link

@hilbert36 目前情况怎么样

@hilbert36
Copy link
Author

目前通过每天凌晨自动重启一下释放内存

@killkill
Copy link

我们也有一样的情况出现,用 GDB dump 了一下 nginx worker 的内存,发现大量的字符串 fail_timeout ,初步估计是 struct ngx_http_upsync_conf_t 创建了不释放导致的。

@lizj3624
Copy link

@killkill 内存泄漏的问题,你那边最终解决了吗?

@suningzh
Copy link

suningzh commented Mar 2, 2022

@hilbert36 有没有使用健康检查模块? 可以多跑两天,观察一下内存是否会一直上涨;谢谢!

猜测可能是ngx_http_upsync_ctx_t结构体中的几个ngx_array_t导致的内存泄漏
比如在函数ngx_http_upsync_consul_parse_json内每次使用ngx_array_init对upstream_conf重新进行初始化,
但是原先upstream_conf指向的内存池并没有释放

是否应该先ngx_array_destroy(&ctx->upstream_conf)

@zitudu
Copy link

zitudu commented Sep 8, 2022

uscf->peer.data 一直新增,没见释放旧 peer ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants