on Linux (or similar) use free(1) to get RAM (close #542)

This commit is contained in:
darealshinji
2018-06-02 17:18:52 +02:00
committed by GitHub
parent ead8bd8fac
commit c4992055ae

View File

@@ -1655,17 +1655,20 @@ detectmem () {
else
# MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable
# Source: https://github.com/dylanaraps/neofetch/pull/391/files#diff-e863270127ca6116fd30e708cdc582fc
mem_info=$(</proc/meminfo)
mem_info=$(echo $(echo $(mem_info=${mem_info// /}; echo ${mem_info//kB/})))
for m in $mem_info; do
case ${m//:*} in
"MemTotal") usedmem=$((usedmem+=${m//*:})); totalmem=${m//*:} ;;
"Shmem") usedmem=$((usedmem+=${m//*:})) ;;
"MemFree"|"Buffers"|"Cached"|"SReclaimable") usedmem=$((usedmem-=${m//*:})) ;;
esac
done
usedmem=$((usedmem / 1024))
totalmem=$((totalmem / 1024))
#mem_info=$(</proc/meminfo)
#mem_info=$(echo $(echo $(mem_info=${mem_info// /}; echo ${mem_info//kB/})))
#for m in $mem_info; do
# case ${m//:*} in
# "MemTotal") usedmem=$((usedmem+=${m//*:})); totalmem=${m//*:} ;;
# "Shmem") usedmem=$((usedmem+=${m//*:})) ;;
# "MemFree"|"Buffers"|"Cached"|"SReclaimable") usedmem=$((usedmem-=${m//*:})) ;;
# esac
#done
#usedmem=$((usedmem / 1024))
#totalmem=$((totalmem / 1024))
mem=$(free -b | awk 'NR==2{print $2"-"$7}')
usedmem=$((mem / 1024 / 1024))
totalmem=$((${mem//-*} / 1024 / 1024))
fi
mem="${usedmem}MiB / ${totalmem}MiB"
verboseOut "Finding current RAM usage...found as '$mem'"