关于Solaris 10上的内存的另一个问题。
一顶让我发现,我有672 MB可用内存:
130 processes: 126 sleeping, 2 zombie, 2 on cpu
CPU states: 95.1% idle, 3.9% user, 1.0% kernel, 0.0% iowait, 0.0% swap
Memory: 16G phys mem, 672M free mem, 2048M total swap, 2023M free swap
一vmstat的节目我一样的:
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr rm s0 s1 s2 in sy cs us sy id
0 0 0 564744 687896 3 13 0 0 0 0 0 0 0 0 0 354 667 752 1 1 98
但是当我执行prstat -a -s size时,我得到了:
NPROC USERNAME SWAP RSS MEMORY TIME CPU
45 orbixadm 1449M 1592M 9.7% 4:46:53 0.4%
48 root 146M 160M 1.0% 8:09:49 1.2%
3 user1 46M 204M 1.2% 0:00:45 0.0%
9 webservd 46M 14M 0.1% 0:00:00 0.0%
5 ctxsrvr 28M 32M 0.2% 4:54:51 0.0%
11 user2 23M 34M 0.2% 0:00:37 0.2%
4 user3 4840K 11M 0.1% 0:00:01 0.0%
1 smmsp 1456K 4552K 0.0% 0:00:24 0.0%
2 daemon 2128K 6224K 0.0% 0:06:32 0.0%
1 user4 1232K 3608K 0.0% 0:00:00 0.0%
1 nagios 376K 2472K 0.0% 0:15:18 0.0%
如您所见,即使我向其中添加了SWAP值,RSS值的总和也不会达到15GB。
所以我的问题是:我相信哪个命令?
如果top和vmstat给我很好的结果,我15GB的已用内存在哪里?如果不是,他们为什么向我展示?
编辑:命令的结果: % echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 1687138 13180 82%
Anon 137110 1071 7%
Exec and libs 47107 368 2%
Page cache 95277 744 5%
Free (cachelist) 22248 173 1%
Free (freelist) 69592 543 3%
Total 2058472 16081
Physical 2055442 16058
编辑2:
好的,现在我可以看到ARC缓存使用的内存了。
但是有了一些新的测试,现在我有了:
2066 MB used
(prstat -Z和echo :: memstat | mdb -k结果)
1193 MB free
(最高结果)
8859 MB ARC cache
(kstat zfs :: arcstats:size结果)
12 GB
当我们的系统具有时,它们或多或少会给我们带来记忆16 GB
。
也许我错过了其他事情,但是另一个在哪里4 GB
呢?
kstat zfs::arcstats:size
在您的问题中添加输出。