( Raynes | 2023. 07. 30., v – 04:55 )

Á, azt hiszem megvan a vmstat-os módszer, a vmstat -s segítségével:

#!/bin/sh
memdata=$(vmstat -s | sed 7q | grep -E -o "[0-9]+")
set -- $memdata
used_kib=$(expr $1 - $5 - $6 - $7)
used_mib=$(expr $used_kib / 1024)
echo "Used memory: $used_mib MiB"

Ez egy kicsit még kevesebbet mutat, mint az előző megoldás, már a htop-pal van párban. Az eltérés oka az, hogy a /proc/meminfo és a vmstat más cache-méretet jelez ki. Viszont ennek a vmstat-os módszernek működnie kell BSD-ken is, és így nem kell a top-pal ökörködni.

Így sem az igazi, mert így már kevesebb used memory-t mutat, mint korábban, az API változása előtt a free. Mindenesetre ez a megoldás van a legközelebb a régi állapothoz, annak ellenére, hogy nem tökéletes.