获取脚本中 zram 的使用百分比

获取脚本中 zram 的使用百分比

我有一个脚本,可以收集各种系统数据并通过 MQTT 将其报告给中央本地服务器。我最近实现了 zram 的优先级高于交换,看看这是否能提高性能。作为监控的一部分,我需要能够计算 zram 的使用百分比,以便可以报告它。

我知道我可以使用以下命令查看 swap 和 zram 的基本统计信息:

cat /proc/swap或者swapon -s

Filename        Type            Size     Used      Priority
/var/swap       file            102396   0         -2
/dev/zram0      partition       5055516  170752    5

或者

zramctl

NAME        ALGORITHM DISKSIZE  DATA    COMPR  TOTAL  STREAMS MOUNTPOINT
/dev/zram0  lz4       4.8G      165.5M  58.4M  62.8M  4       [SWAP]

但这些不显示已使用的百分比,并且在前 2 个命令的情况下还报告标准交换。有没有办法在单行命令中确定并输出使用的 zram 的百分比而不输出其他内容?

编辑:它看起来swapon -s提供了最容易使用的结果,因为它在 zram 行中给出了大小和使用值。如果有人可以提供一种仅返回 %used 的方法,我将非常感激。

谢谢。

答案1

您应该能够从swapon -s输出中轻松完成此操作:

$ swapon -s | awk '$1~/\/zram/{printf "%.2f%%\n", ($4/$3)*100}' 
3.38%

相关内容