diff --git a/src/xrpld/app/misc/NetworkOPs.cpp b/src/xrpld/app/misc/NetworkOPs.cpp index ebe539523b..b45e1c1e02 100644 --- a/src/xrpld/app/misc/NetworkOPs.cpp +++ b/src/xrpld/app/misc/NetworkOPs.cpp @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -2547,10 +2548,14 @@ NetworkOPsImp::setMode(OperatingMode om) if (mMode == om) return; + auto const oldMode = mMode; mMode = om; accounting_.mode(om); + if (oldMode != OperatingMode::FULL && om == OperatingMode::FULL) + mallocTrim(std::optional("SyncComplete"), m_journal); + JLOG(m_journal.info()) << "STATE->" << strOperatingMode(); pubServer(); }