다양한 시스템 데이터를 수집하고 이를 MQTT를 통해 중앙 로컬 서버에 보고하는 스크립트가 있습니다. 나는 최근에 이것이 성능을 향상시킬 수 있는지 알아보기 위해 스왑보다 우선순위로 zram을 구현했습니다. 모니터링의 일환으로 보고할 수 있도록 zram 사용 비율을 계산할 수 있어야 합니다.
다음을 사용하여 스왑 및 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%