mirror of
https://github.com/criyle/go-sandbox.git
synced 2025-11-04 14:49:53 +08:00
26 lines
378 B
Go
26 lines
378 B
Go
package cgroup
|
|
|
|
import "sync"
|
|
|
|
var (
|
|
infoOnce sync.Once
|
|
cacheInfo map[string]int
|
|
)
|
|
|
|
func getCachedCgroupHierarchy() map[string]int {
|
|
infoOnce.Do(func() {
|
|
info, err := GetCgroupInfo()
|
|
if err != nil {
|
|
return
|
|
}
|
|
cacheInfo = make(map[string]int)
|
|
for k, v := range info {
|
|
if !v.Enabled {
|
|
continue
|
|
}
|
|
cacheInfo[k] = v.Hierarchy
|
|
}
|
|
})
|
|
return cacheInfo
|
|
}
|