mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-03 23:20:26 +08:00
阶段性提交
This commit is contained in:
8
internal/utils/errors.go
Normal file
8
internal/utils/errors.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package utils
|
||||
|
||||
import "github.com/iwind/TeaGo/logs"
|
||||
|
||||
func PrintError(err error) {
|
||||
// TODO 记录调用的文件名、行数
|
||||
logs.Println("[ERROR]" + err.Error())
|
||||
}
|
||||
29
internal/utils/rlimit_darwin.go
Normal file
29
internal/utils/rlimit_darwin.go
Normal file
@@ -0,0 +1,29 @@
|
||||
// +build darwin
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// set resource limit
|
||||
func SetRLimit(limit uint64) error {
|
||||
rLimit := &syscall.Rlimit{}
|
||||
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, rLimit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if rLimit.Cur < limit {
|
||||
rLimit.Cur = limit
|
||||
}
|
||||
if rLimit.Max < limit {
|
||||
rLimit.Max = limit
|
||||
}
|
||||
return syscall.Setrlimit(syscall.RLIMIT_NOFILE, rLimit)
|
||||
}
|
||||
|
||||
// set best resource limit value
|
||||
func SetSuitableRLimit() {
|
||||
SetRLimit(4096 * 100) // 1M=100Files
|
||||
}
|
||||
29
internal/utils/rlimit_linux.go
Normal file
29
internal/utils/rlimit_linux.go
Normal file
@@ -0,0 +1,29 @@
|
||||
// +build linux
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// set resource limit
|
||||
func SetRLimit(limit uint64) error {
|
||||
rLimit := &syscall.Rlimit{}
|
||||
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, rLimit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if rLimit.Cur < limit {
|
||||
rLimit.Cur = limit
|
||||
}
|
||||
if rLimit.Max < limit {
|
||||
rLimit.Max = limit
|
||||
}
|
||||
return syscall.Setrlimit(syscall.RLIMIT_NOFILE, rLimit)
|
||||
}
|
||||
|
||||
// set best resource limit value
|
||||
func SetSuitableRLimit() {
|
||||
SetRLimit(4096 * 100) // 1M=100Files
|
||||
}
|
||||
13
internal/utils/rlimit_others.go
Normal file
13
internal/utils/rlimit_others.go
Normal file
@@ -0,0 +1,13 @@
|
||||
// +build !linux,!darwin
|
||||
|
||||
package utils
|
||||
|
||||
// set resource limit
|
||||
func SetRLimit(limit uint64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// set best resource limit value
|
||||
func SetSuitableRLimit() {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user