diff --git a/changelog.d/19440.misc b/changelog.d/19440.misc new file mode 100644 index 0000000000..7777601114 --- /dev/null +++ b/changelog.d/19440.misc @@ -0,0 +1 @@ +Add log to explain when and why we freeze objects in the garbage collector. diff --git a/synapse/app/_base.py b/synapse/app/_base.py index c64c41e9d2..7f4855f36b 100644 --- a/synapse/app/_base.py +++ b/synapse/app/_base.py @@ -776,6 +776,11 @@ async def start(hs: "HomeServer", *, freeze: bool = True) -> None: # # PyPy does not (yet?) implement gc.freeze() if hasattr(gc, "freeze"): + logger.info( + "garbage collector: Freezing all allocated objects in the hopes that (almost) " + "everything currently allocated are things that will be used by the homeserver " + "for the rest of time. Doing so means less work each GC (hopefully)." + ) gc.collect() gc.freeze()