go-ethereum/internal/memlimit/probe_test.go
Sina M d93dda49c8
internal/memlimit: respect cgroup memory cap (#34947)
Currently geth ignores the docker `--memory` directive and doesn't
adjust its cache size downward when necessary, potentially running into
OOM.

while gopsutil has functions like `docker/CgroupMem()` they are rather
for reading cgroup memory limit of a container from the host.
2026-06-12 13:31:15 +02:00

28 lines
1.1 KiB
Go

// Copyright 2026 The go-ethereum Authors
// This file is part of the go-ethereum library.
//
// The go-ethereum library is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// The go-ethereum library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
package memlimit
import "testing"
// TestLimitSmoke asserts that Limit() returns a non-zero value,
// exercising the real probe and the gopsutil fallback.
func TestLimitSmoke(t *testing.T) {
bytes, src := Limit()
if bytes == 0 {
t.Errorf("Limit() returned 0 bytes (source=%s); expected non-zero on any sane host", src)
}
}