mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 19:00:46 +00:00
Merge b644b32190 into dddbaa4bf3
This commit is contained in:
commit
6e114db4a0
2 changed files with 24 additions and 3 deletions
|
|
@ -103,6 +103,7 @@ var (
|
|||
utils.CacheLogSizeFlag,
|
||||
utils.FDLimitFlag,
|
||||
utils.MemoryLimitFlag,
|
||||
utils.GOGCFlag,
|
||||
utils.CryptoKZGFlag,
|
||||
utils.ListenPortFlag,
|
||||
utils.DiscoveryPortFlag,
|
||||
|
|
|
|||
|
|
@ -566,6 +566,12 @@ var (
|
|||
Usage: "Soft memory limit for the Go runtime in megabytes (default = no limit)",
|
||||
Category: flags.PerfCategory,
|
||||
}
|
||||
GOGCFlag = &cli.IntFlag{
|
||||
Name: "gogc",
|
||||
Usage: "Go garbage collection target percentage (default = 100, negative disables)",
|
||||
Value: 100,
|
||||
Category: flags.PerfCategory,
|
||||
}
|
||||
CryptoKZGFlag = &cli.StringFlag{
|
||||
Name: "crypto.kzg",
|
||||
Usage: "KZG library implementation to use; gokzg (recommended) or ckzg",
|
||||
|
|
@ -1778,11 +1784,25 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) {
|
|||
}
|
||||
}
|
||||
|
||||
godebug.SetGCPercent(100)
|
||||
// Setting go runtime settings
|
||||
gcPercent := ctx.Int(GOGCFlag.Name)
|
||||
if ctx.IsSet(GOGCFlag.Name) {
|
||||
log.Info("Sanitizing Go's GC trigger", "percent", gcPercent)
|
||||
}
|
||||
godebug.SetGCPercent(gcPercent)
|
||||
|
||||
if ctx.IsSet(MemoryLimitFlag.Name) {
|
||||
memLimit := int64(ctx.Int(MemoryLimitFlag.Name)) * 1024 * 1024
|
||||
log.Debug("Setting Go memory limit", "MB", memLimit/1024/1024)
|
||||
godebug.SetMemoryLimit(memLimit)
|
||||
if memLimit > int64(total) {
|
||||
log.Info("Sanitizing memory limit", "provided(MB)", memLimit/1024/1024, "updated(MB)", total/1024/1024)
|
||||
memLimit = int64(total)
|
||||
}
|
||||
if memLimit < 0 {
|
||||
log.Warn("Ignoring negative Go memory limit")
|
||||
} else {
|
||||
log.Info("Setting Go memory limit", "MB", memLimit/1024/1024)
|
||||
godebug.SetMemoryLimit(memLimit)
|
||||
}
|
||||
}
|
||||
|
||||
if ctx.IsSet(SyncTargetFlag.Name) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue