Files
Linux/show_zram_status.sh
T

35 lines
1.2 KiB
Bash

#!/usr/bin/env bash
#
# ...
#
# 使用方法:
# URL="https://git.1-h.cc/Scripts/Linux/raw/branch/2026/show_zram_status.sh"; curl -fsSL "$URL" | bash
show_zram_status() {
echo "========== zram 运行战报 =========="
# 获取 zram 信息并进行格式化处理
local stats=$(zramctl --raw --noheadings --output DATA,COMPR,TOTAL)
if [ -z "$stats" ]; then
echo "未发现活跃的 zram 设备。"
return
fi
# 提取数据 (单位通常是字节)
local data_size=$(echo "$stats" | awk '{print $1}') # 存入的原始数据
local compr_size=$(echo "$stats" | awk '{print $2}') # 压缩后的大小
local total_mem=$(echo "$stats" | awk '{print $3}') # 实际占用的物理内存(含元数据)
# 计算压缩率和节省空间 (转为 MB)
local saved_mb=$(( (data_size - total_mem) / 1024 / 1024 ))
local ratio=$(awk "BEGIN {printf \"%.2f\", $data_size / $total_mem}")
echo "1. 原始数据量: $((data_size / 1024 / 1024)) MB"
echo "2. 实际占用内存: $((total_mem / 1024 / 1024)) MB"
echo "3. 压缩倍率: ${ratio}x"
echo "4. 为系统节省了: **${saved_mb} MB** 物理内存"
echo "==================================="
}
show_zram_status