在发布Solaris 11之前,我在Solaris 11 Express上运行了NAS / SAN盒。该包装盒是带有X2700的HP X1600。总共12个1TB 1TB 7200 SATA磁盘,12个300GB 10k SAS磁盘在单独的zpool中。总内存为30GB。提供的服务包括CIFS,NFS和iSCSI。
一切都很好,我有一个ZFS内存使用情况图,如下所示:
相当健康的Arc大小约为23GB-利用可用内存进行缓存。
但是,当它发布时,我随后升级到了Solaris 11。现在,我的图形如下所示:
的部分输出arc_summary.pl
是:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26719 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 915 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
它的目标是119MB,而现在为915MB。它有30GB可用空间。为什么?他们有改变吗?
编辑
澄清arc_summary.pl
一下,是本·罗克伍德(Ben Rockwood),而产生上述统计信息的相关行是:
my $mru_size = ${Kstat}->{zfs}->{0}->{arcstats}->{p};
my $target_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c};
my $arc_min_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_min};
my $arc_max_size = ${Kstat}->{zfs}->{0}->{arcstats}->{c_max};
my $arc_size = ${Kstat}->{zfs}->{0}->{arcstats}->{size};
Kstat条目在那里,我只是从中得到奇数。
编辑2
我刚刚使用来重新测量了圆弧大小arc_summary.pl
-我已经使用以下方法验证了这些数字kstat
:
System Memory:
Physical RAM: 30701 MB
Free Memory : 26697 MB
LotsFree: 479 MB
ZFS Tunables (/etc/system):
ARC Size:
Current Size: 744 MB (arcsize)
Target Size (Adaptive): 119 MB (c)
Min Size (Hard Limit): 64 MB (zfs_arc_min)
Max Size (Hard Limit): 29677 MB (zfs_arc_max)
让我印象深刻的是,目标大小为119MB。从图中可以看出,arc_summary.pl
自从安装Solaris 11以来,它的目标是完全相同的值(根据cacti,为124.91M,根据-认为差异仅为1024/1000舍入问题,为119M )。看起来内核正在竭尽全力将目标大小更改为任何其他大小。当前的大小随着系统(大型)需求与目标大小的变化而波动,并且看来平衡在700到1000MB之间。
因此,现在的问题更加明确了-为什么Solaris 11会将我的ARC目标大小硬设置为119MB,如何更改它?我应该提高最小尺寸以查看会发生什么吗?
我将结束输出停留kstat -n arcstats
在http://pastebin.com/WHPimhfg
编辑3
好吧,现在很奇怪。我知道flibflob提到有一个补丁可以解决此问题。我尚未应用此补丁(仍在解决内部支持问题),并且尚未应用任何其他软件更新。
上周四,盒子坠毁了。如,完全停止对所有内容的响应。当我重新启动它时,它又恢复正常,但是这是我的图形现在的样子。
看来已经解决了问题。
现在这是适当的土地。我真的不知道发生了什么。:(