1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| docker stats --no-stream --format "{{.MemUsage}}" | \ awk '{ split($1, a, "/"); # 分割 "100MiB / 2GiB" 这样的字符串 mem = a[1]; # 提取第一部分(实际使用量) if (mem ~ /GiB/) { gsub(/GiB/, "", mem); sum += mem; } else if (mem ~ /MiB/) { gsub(/MiB/, "", mem); sum += mem / 1024; # 1 GiB = 1024 MiB } else if (mem ~ /KiB/) { gsub(/KiB/, "", mem); sum += mem / (1024 * 1024); # 1 GiB = 1024 * 1024 KiB } else if (mem ~ /B/) { gsub(/B/, "", mem); sum += mem / (1024 * 1024 * 1024); # 1 GiB = 1024^3 B } } END { printf "Total Memory Usage: %.2f GiB\n", sum }'
|