diff options
| author | Dylan Araps <dylan.araps@gmail.com> | 2019-09-24 11:03:33 +0300 |
|---|---|---|
| committer | Dylan Araps <dylan.araps@gmail.com> | 2019-09-24 11:03:33 +0300 |
| commit | 88a97a2cedbf9f05b8259162772051fcce094a12 (patch) | |
| tree | 457246b6084b6e46af5fb0e581972f196457bf6b | |
| parent | d6bf31f5e75a6bee4ae9349f374b349d8e8eae87 (diff) | |
| download | pfetch-88a97a2cedbf9f05b8259162772051fcce094a12.tar.gz | |
pfetch: Add memory
| -rwxr-xr-x | pfetch | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -60,6 +60,41 @@ get_uptime() { log 1 uptime " " "${uptime:-0m}" } +get_memory() { + case $os in + + # Used memory is calculated using the following "formula" (Linux): + # MemUsed = MemTotal + Shmem - MemFree - Buffers - Cached - SReclaimable + # Source: https://github.com/KittyKatt/screenFetch/issues/386 + linux) + # Parse the '/proc/meminfo' file splitting on ':' and 'k'. + # The format of the file is 'key: 000kB' and an additional + # split is used on 'k' to filter out 'kB'. + while IFS=:k read -r key val _; do + case $key in + MemTotal) + mem_used=$((mem_used + val)) + mem_total=$val + ;; + + Shmem) + mem_used=$((mem_used + val)) + ;; + + MemFree|Buffers|Cached|SReclaimable) + mem_used=$((mem_used - val)) + ;; + esac + done < /proc/meminfo + + mem_used=$((mem_used / 1024)) + mem_total=$((mem_total / 1024)) + ;; + esac + + log 1 memory " " "${mem_used}MiB / ${mem_total}MiB" +} + main() { # Hide 'stderr' unless the first argument is '-v'. This saves # polluting the script with '2>/dev/null'. @@ -76,6 +111,7 @@ EOF get_distro get_kernel get_uptime + get_memory } main "$@" |
