Memory usage #175
Replies: 1 comment
-
fixed with #176. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi HTTP-2 community 👋
I'm writing this as a discussion, rather than an issue, because I'm not certain where my problem is. I've had a persistent memory leak in one of my running applications for at least a few months now and I've been sporadically trying to zero in on the problem.
It appears that I have several large Hash objects that are being held by HTTP2::Client.
This dump was taken from my app not very long after boot, so the actual size here is not that egregious, but I've been able to tell by taking a series of heap dumps that these are the objects that are growing over time.
So I started looking inside
HTTP2::Client
andHTTP2::Connection
for possible culprits and I noticed@streams
and@recently_closed_streams
. It looks like there is a cleanup routine for@recently_closed_streams
but I wasn't able to find where items are removed from@streams
.It seems like streams should eventually be removed from
@streams
, possibly when they're closed? I'm not familiar with the requirements of an HTTP2 client so I'm just guessing. Is this not a problem? Or maybe they are being removed and I just wasn't able to find where.I'd appreciate any thoughts anyone has about the memory growth of those hashes. I should also say that I am using this as part of HTTPX which is using the
Persistent
plugin (via the Faraday adapter). It's being used to communicate to an Elasticsearch instance.Thanks for your time!
Beta Was this translation helpful? Give feedback.
All reactions