使用 kstat、vmstat 和 mdb 计算可用内存

使用 kstat、vmstat 和 mdb 计算可用内存

在尝试计算 Solaris 10 下的可用内存时,我注意到使用vmstatvskstat或得到了不同的结果mdb

基本命令:

/usr/bin/kstat -p unix::system_pages:freemem | cut -f 2
/usr/bin/vmstat 1 1 | tail -1 | awk '{ print $5 / 1024 }'
echo ::memstat | mdb -k | awk '/cachelist/ { print $4 }'
echo ::memstat | mdb -k | awk '/freelist/ { print $4 }'

and kstat(这两个)memstat命令给出基本相同的结果 147266MB,而该vmstat命令返回 167030MB。

有人可以解释一下其中的区别吗?

相关内容