File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
content/zh-cn/examples/admin/resource Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # 此脚本重现了 kubelet 相对于 kubepods cgroup 计算 memory.available 的操作
4
+
5
+ # 当前内存使用情况
6
+ memory_capacity_in_kb=$( cat /proc/meminfo | grep MemTotal | awk ' {print $2}' )
7
+ memory_capacity_in_bytes=$(( memory_capacity_in_kb * 1024 ))
8
+ memory_usage_in_bytes=$( cat /sys/fs/cgroup/kubepods.slice/memory.current)
9
+ memory_total_inactive_file=$( cat /sys/fs/cgroup/kubepods.slice/memory.stat | grep inactive_file | awk ' {print $2}' )
10
+
11
+ memory_working_set=${memory_usage_in_bytes}
12
+ if [ " $memory_working_set " -lt " $memory_total_inactive_file " ];
13
+ then
14
+ memory_working_set=0
15
+ else
16
+ memory_working_set=$(( memory_usage_in_bytes - memory_total_inactive_file))
17
+ fi
18
+
19
+ memory_available_in_bytes=$(( memory_capacity_in_bytes - memory_working_set))
20
+ memory_available_in_kb=$(( memory_available_in_bytes / 1024 ))
21
+ memory_available_in_mb=$(( memory_available_in_kb / 1024 ))
22
+
23
+ echo " memory.capacity_in_bytes $memory_capacity_in_bytes "
24
+ echo " memory.usage_in_bytes $memory_usage_in_bytes "
25
+ echo " memory.total_inactive_file $memory_total_inactive_file "
26
+ echo " memory.working_set $memory_working_set "
27
+ echo " memory.available_in_bytes $memory_available_in_bytes "
28
+ echo " memory.available_in_kb $memory_available_in_kb "
29
+ echo " memory.available_in_mb $memory_available_in_mb "
You can’t perform that action at this time.
0 commit comments