35 lines
1.2 KiB
Bash
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
|