#!/bin/bash
# 分析文本内容
# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# root 1 0.0 0.1 37344 4604 ? Ss 2020 2:13 /sbin/init
# 业务知识
# 这是 ps 命令输出的结果
# VSZ: 虚拟内存大小(在这个例子中是 37344 KB)
# RSS: 实际内存使用(在这个例子中是 4604 KB)
# 问题提炼:统计VSZ,RSS各自的总和(以M兆为统计)
# 输出的格式:
# MEM TOTAL 直接打印
# VSZ_SUM:3250.8M,RSS_SUM:179.777M
# 思路:
# VSZ 在第5列,RSS在第6列
# awk 两个变量 分别统计 VSZ 和 RSS
# 1024KB = 1MB bit--B--KB---MB---GB----TB 汇总后的KB 除以 1024 得到对应的MB 显示
grep -v 'USER' nowcoder.txt |
awk '
BEGIN{
vsz_sum = 0
rss_sum = 0
}
{
vsz_sum += $5
rss_sum += $6
}
END{
print "MEM TOTAL"
printf("VSZ_SUM:%0.1fM", vsz_sum/1024)
printf ","
printf("RSS_SUM:%0.3fM", rss_sum/1024)
}
'
END

京公网安备 11010502036488号