From 03e7d8d346eabfe20544b2de95e3f8aa572f2763 Mon Sep 17 00:00:00 2001 From: georgehao Date: Wed, 9 Apr 2025 14:28:47 +0800 Subject: [PATCH] add comments --- internal/debug/api.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/debug/api.go b/internal/debug/api.go index c3a1e5e059..b529db6e0f 100644 --- a/internal/debug/api.go +++ b/internal/debug/api.go @@ -239,9 +239,12 @@ func (*HandlerT) SetGCPercent(v int) int { // SetMemoryLimit sets the GOMEMLIMIT for the process. It returns the previous limit. // Note: -// - Geth also allocates memory off-heap, particularly for fastCache and Pebble, which can be non-trivial (a few gigabytes by default). +// - The input limit is provided as bytes, and includes all memory mapped, managed, and not released by the Go runtime. +// - A zero limit or a limit that's lower than the amount of memory used by the Go runtime may cause the garbage collector to runnearly continuously. However, the application may still make progress. // - Setting the limit too low will cause Geth to become unresponsive. +// - Geth also allocates memory off-heap, particularly for fastCache and Pebble, which can be non-trivial (a few gigabytes by default). func (*HandlerT) SetMemoryLimit(limit int64) int64 { + log.Info("Setting memory limit", "limit(MB)", limit/1024/1024) return debug.SetMemoryLimit(limit) }