Skip to content

Commit 5b7b263

Browse files
tiny-xxcaspar
authored andcommitted
fix: pod mem exp.
Signed-off-by: tiny-x <[email protected]>
1 parent 9c1d5bd commit 5b7b263

File tree

1 file changed

+48
-48
lines changed

1 file changed

+48
-48
lines changed

exec/mem/mem_linux.go

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -17,61 +17,61 @@
1717
package mem
1818

1919
import (
20-
"context"
21-
"fmt"
22-
"github.com/chaosblade-io/chaosblade-exec-os/exec"
23-
"github.com/chaosblade-io/chaosblade-spec-go/channel"
24-
"github.com/chaosblade-io/chaosblade-spec-go/log"
25-
"github.com/containerd/cgroups"
26-
"github.com/shirou/gopsutil/mem"
27-
"strconv"
20+
"context"
21+
"fmt"
22+
"github.com/chaosblade-io/chaosblade-exec-os/exec"
23+
"github.com/chaosblade-io/chaosblade-spec-go/channel"
24+
"github.com/chaosblade-io/chaosblade-spec-go/log"
25+
"github.com/containerd/cgroups"
26+
"github.com/shirou/gopsutil/mem"
27+
"strconv"
2828
)
2929

3030
func getAvailableAndTotal(ctx context.Context, burnMemMode string, includeBufferCache bool) (int64, int64, error) {
3131

32-
pid := ctx.Value(channel.NSTargetFlagName)
33-
total := int64(0)
34-
available := int64(0)
32+
pid := ctx.Value(channel.NSTargetFlagName)
33+
total := int64(0)
34+
available := int64(0)
3535

36-
if pid != nil {
37-
p, err := strconv.Atoi(pid.(string))
38-
if err != nil {
39-
return 0, 0, fmt.Errorf("load cgroup error, %v", err)
40-
}
36+
if pid != nil {
37+
p, err := strconv.Atoi(pid.(string))
38+
if err != nil {
39+
return 0, 0, fmt.Errorf("load cgroup error, %v", err)
40+
}
4141

42-
cgroupRoot := ctx.Value("cgroup-root")
43-
if cgroupRoot == "" {
44-
cgroupRoot = "/sys/fs/cgroup/"
45-
}
42+
cgroupRoot := ctx.Value("cgroup-root")
43+
if cgroupRoot == "" {
44+
cgroupRoot = "/sys/fs/cgroup/"
45+
}
4646

47-
log.Debugf(ctx, "get mem useage by cgroup, root path: %s", cgroupRoot)
47+
log.Debugf(ctx, "get mem useage by cgroup, root path: %s", cgroupRoot)
4848

49-
cgroup, err := cgroups.Load(exec.Hierarchy(cgroupRoot.(string)), exec.PidPath(p))
50-
if err != nil {
51-
return 0, 0, fmt.Errorf("load cgroup error, %v", err)
52-
}
53-
stats, err := cgroup.Stat(cgroups.IgnoreNotExist)
54-
if err != nil {
55-
return 0, 0, fmt.Errorf("load cgroup stat error, %v", err)
56-
}
57-
if stats != nil && stats.Memory.Usage.Limit < PageCounterMax {
58-
total = int64(stats.Memory.Usage.Limit)
59-
available = total - int64(stats.Memory.Usage.Usage)
60-
if burnMemMode == "ram" && !includeBufferCache {
61-
available = available + int64(stats.Memory.Cache)
62-
}
63-
}
64-
return total, available, nil
65-
}
49+
cgroup, err := cgroups.Load(exec.Hierarchy(cgroupRoot.(string)), exec.PidPath(p))
50+
if err != nil {
51+
return 0, 0, fmt.Errorf("load cgroup error, %v", err)
52+
}
53+
stats, err := cgroup.Stat(cgroups.IgnoreNotExist)
54+
if err != nil {
55+
return 0, 0, fmt.Errorf("load cgroup stat error, %v", err)
56+
}
57+
if stats != nil && stats.Memory.Usage.Limit < PageCounterMax {
58+
total = int64(stats.Memory.Usage.Limit)
59+
available = total - int64(stats.Memory.Usage.Usage)
60+
if burnMemMode == "ram" && !includeBufferCache {
61+
available = available + int64(stats.Memory.Cache)
62+
}
63+
return total, available, nil
64+
}
65+
}
6666

67-
virtualMemory, err := mem.VirtualMemory()
68-
if err != nil {
69-
return 0, 0, err
70-
}
71-
total = int64(virtualMemory.Total)
72-
available = int64(virtualMemory.Free)
73-
if burnMemMode == "ram" && !includeBufferCache {
74-
available = available + int64(virtualMemory.Buffers+virtualMemory.Cached)
75-
}
76-
return total, available, nil
67+
virtualMemory, err := mem.VirtualMemory()
68+
if err != nil {
69+
return 0, 0, err
70+
}
71+
total = int64(virtualMemory.Total)
72+
available = int64(virtualMemory.Free)
73+
if burnMemMode == "ram" && !includeBufferCache {
74+
available = available + int64(virtualMemory.Buffers+virtualMemory.Cached)
75+
}
76+
return total, available, nil
7777
}

0 commit comments

Comments
 (0)