diff options
author | Mark Felder <feld@feld.me> | 2024-02-12 17:25:02 -0500 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2024-02-17 09:53:52 -0500 |
commit | 7e99d0619d02835fab66134f14dd99fb4c313d26 (patch) | |
tree | 16febe222faed80065730080313705ae45036860 | |
parent | 0fbec6b532330e86da9b396f31f9d5dd04990a9e (diff) | |
download | pleroma-7e99d0619d02835fab66134f14dd99fb4c313d26.tar.gz pleroma-7e99d0619d02835fab66134f14dd99fb4c313d26.zip |
Force more frequent full_sweep GC runs on the Websocket processes
Websocket processes seem to be the primary culprit for Binary memory allocation bloat.
-rw-r--r-- | changelog.d/memleak.fix | 1 | ||||
-rw-r--r-- | lib/pleroma/web/endpoint.ex | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/changelog.d/memleak.fix b/changelog.d/memleak.fix new file mode 100644 index 000000000..2465921c0 --- /dev/null +++ b/changelog.d/memleak.fix @@ -0,0 +1 @@ +Fix a memory leak caused by Websocket connections that would not enter a state where a full garbage collection run could be triggered. diff --git a/lib/pleroma/web/endpoint.ex b/lib/pleroma/web/endpoint.ex index 51a77ed60..2e2104904 100644 --- a/lib/pleroma/web/endpoint.ex +++ b/lib/pleroma/web/endpoint.ex @@ -14,7 +14,8 @@ defmodule Pleroma.Web.Endpoint do websocket: [ path: "/", compress: false, - error_handler: {Pleroma.Web.MastodonAPI.WebsocketHandler, :handle_error, []} + error_handler: {Pleroma.Web.MastodonAPI.WebsocketHandler, :handle_error, []}, + fullsweep_after: 20 ] ) @@ -27,7 +28,8 @@ defmodule Pleroma.Web.Endpoint do ], timeout: 60_000, transport_log: false, - compress: false + compress: false, + fullsweep_after: 20 ], longpoll: false ) |