1234567891011121314151617181920212223 |
- package libbox
- import (
- "math"
- runtimeDebug "runtime/debug"
- "github.com/sagernet/sing-box/common/conntrack"
- )
- func SetMemoryLimit(enabled bool) {
- const memoryLimit = 45 * 1024 * 1024
- const memoryLimitGo = memoryLimit / 1.5
- if enabled {
- runtimeDebug.SetGCPercent(10)
- runtimeDebug.SetMemoryLimit(memoryLimitGo)
- conntrack.KillerEnabled = true
- conntrack.MemoryLimit = memoryLimit
- } else {
- runtimeDebug.SetGCPercent(100)
- runtimeDebug.SetMemoryLimit(math.MaxInt64)
- conntrack.KillerEnabled = false
- }
- }
|