mirror of
https://github.com/go-kratos/kratos.git
synced 2025-03-17 21:07:54 +02:00
commit
8a0fee6cd6
@ -56,8 +56,11 @@ func (c *cgroup) CPUAcctUsagePerCPU() ([]uint64, error) {
|
|||||||
if u, err = parseUint(v); err != nil {
|
if u, err = parseUint(v); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
// fix possible_cpu:https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.lgdd/lgdd_r_posscpusparm.html
|
||||||
|
if u != 0 {
|
||||||
usage = append(usage, u)
|
usage = append(usage, u)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return usage, nil
|
return usage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
pscpu "github.com/shirou/gopsutil/cpu"
|
||||||
)
|
)
|
||||||
|
|
||||||
type cgroupCPU struct {
|
type cgroupCPU struct {
|
||||||
@ -21,12 +22,17 @@ type cgroupCPU struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newCgroupCPU() (cpu *cgroupCPU, err error) {
|
func newCgroupCPU() (cpu *cgroupCPU, err error) {
|
||||||
cpus, err := perCPUUsage()
|
var cores int
|
||||||
|
cores, err = pscpu.Counts(true)
|
||||||
|
if err != nil || cores == 0 {
|
||||||
|
var cpus []uint64
|
||||||
|
cpus, err = perCPUUsage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = errors.Errorf("perCPUUsage() failed!err:=%v", err)
|
err = errors.Errorf("perCPUUsage() failed!err:=%v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
cores := uint64(len(cpus))
|
cores = len(cpus)
|
||||||
|
}
|
||||||
|
|
||||||
sets, err := cpuSets()
|
sets, err := cpuSets()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -61,7 +67,7 @@ func newCgroupCPU() (cpu *cgroupCPU, err error) {
|
|||||||
cpu = &cgroupCPU{
|
cpu = &cgroupCPU{
|
||||||
frequency: maxFreq,
|
frequency: maxFreq,
|
||||||
quota: quota,
|
quota: quota,
|
||||||
cores: cores,
|
cores: uint64(cores),
|
||||||
preSystem: preSystem,
|
preSystem: preSystem,
|
||||||
preTotal: preTotal,
|
preTotal: preTotal,
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user