增加软内存最大值限制

This commit is contained in:
GoEdgeLab
2023-03-05 12:34:46 +08:00
parent 05d9661d3e
commit f55781f643
3 changed files with 38 additions and 0 deletions

View File

@@ -23,5 +23,11 @@ func SystemMemoryGB() int {
} }
systemTotalMemory = int(stat.Total / 1024 / 1024 / 1024) systemTotalMemory = int(stat.Total / 1024 / 1024 / 1024)
if systemTotalMemory <= 0 {
systemTotalMemory = 1
}
setMaxMemory(systemTotalMemory)
return systemTotalMemory return systemTotalMemory
} }

View File

@@ -0,0 +1,23 @@
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
//go:build go1.19
package utils
import (
"runtime/debug"
)
// 设置软内存最大值
func setMaxMemory(memoryGB int) {
if memoryGB <= 0 {
memoryGB = 1
}
var maxMemoryBytes int64 = 0
if memoryGB > 10 {
maxMemoryBytes = int64(memoryGB-2) << 30 // 超过10G内存的允许剩余2G内存
} else {
maxMemoryBytes = (int64(memoryGB) << 30) * 100 / 80 // 默认 80%
}
debug.SetMemoryLimit(maxMemoryBytes)
}

View File

@@ -0,0 +1,9 @@
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
//go:build !go1.19
package utils
// 设置软内存最大值
func setMaxMemory(memoryGB int) {
}