summaryrefslogtreecommitdiffstats
path: root/library/cpp/malloc/tcmalloc/malloc-info.cpp
diff options
context:
space:
mode:
authoralxmopo3ov <[email protected]>2026-03-26 18:13:33 +0300
committeralxmopo3ov <[email protected]>2026-03-26 19:36:00 +0300
commit9d4e69b62e1f57d85025bccc76e217ae401004f9 (patch)
tree996893f64b57bd4bc026219024a80ef15fe52bb7 /library/cpp/malloc/tcmalloc/malloc-info.cpp
parentab4fc65949569ba97be07763181915cbc7c661e7 (diff)
ClearCache() method in NMalloc
commit_hash:2a9ac53b44252aeea5188e821743fc79b064947b
Diffstat (limited to 'library/cpp/malloc/tcmalloc/malloc-info.cpp')
-rw-r--r--library/cpp/malloc/tcmalloc/malloc-info.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/library/cpp/malloc/tcmalloc/malloc-info.cpp b/library/cpp/malloc/tcmalloc/malloc-info.cpp
index fbcfa7ee06a..fc4603de595 100644
--- a/library/cpp/malloc/tcmalloc/malloc-info.cpp
+++ b/library/cpp/malloc/tcmalloc/malloc-info.cpp
@@ -1,4 +1,5 @@
#include <library/cpp/malloc/api/malloc.h>
+#include <contrib/libs/tcmalloc/tcmalloc/internal_malloc_extension.h>
using namespace NMalloc;
@@ -7,3 +8,10 @@ TMallocInfo NMalloc::MallocInfo() {
r.Name = "tcmalloc";
return r;
}
+
+void NMalloc::ClearCaches() {
+ // not available on darwin, see internal_malloc_extension.h for details
+#ifndef _darwin_
+ MallocExtension_Internal_ReleaseMemoryToSystem(std::numeric_limits<size_t>::max());
+#endif
+}